Methods and systems for B2B demand generation with targeted advertising campaigns and lead profile optimization based on target audience feedback

ABSTRACT

Disclosed are methods and systems for generating opt-in business leads utilizing targeted advertising campaigns. The method comprises first retrieving an ideal customer profile (ICP), and generating enriched candidates leads that match the ICP. Next, generating test campaigns, receiving feedback information on the test campaigns from candidate leads in test target groups, scoring each test campaign based on received feedback information, and generating a targeted advertising campaign comprising test campaigns with high campaign scores. Opt-in business leads are generated by selecting candidate leads that respond affirmatively to the targeted advertising campaign. The present invention utilizes a closed-loop approach to customize campaign audiences, to optimize targeted advertising campaigns and ICPs, and as a result, to produces high-quality, low-cost, opt-in leads for B2B companies.

REFERENCE TO RELATED APPLICATIONS

This application is a non-provisional of and claims the benefit ofprovisional application having U.S. Ser. No. 62/380,956, filed on Aug.29, 2016, and entitled “Methods and Systems Utilizing an Engine forTargeted Demand Generation Based on Ideal Customer Profiles,” the entiredisclosure of which is hereby incorporated by reference in its entiretyherein.

NOTICE OF COPYRIGHTS AND TRADE DRESS

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. This patent document may showand/or describe matter which is or may become trade dress of the owner.The copyright and trade dress owner has no objection to the facsimilereproduction by anyone of the patent disclosure as it appears in theU.S. Patent and Trademark Office files or records, but otherwisereserves all copyright and trade dress rights whatsoever.

FIELD OF THE INVENTION

Embodiments of the present invention are in the field of customerprofiling and targeted advertising, and pertain particularly to methodsand systems for targeted demand generation.

BACKGROUND OF THE INVENTION

The statements in the background of the invention are provided to assistwith understanding the invention and its applications and uses, and maynot constitute prior art.

Business-to-business (B2B) companies struggle to generate a predictablevolume of high-quality leads. A typical conversion rate for a B2Bmarketing campaign is only about 3%; and furthermore, not all leads arecreated equal. That is, not all converted leads have the same value orease of acquisition, and increasing lead volume alone does notnecessarily bring higher lead-to-opportunity conversions or closed salesfurther down the sales funnel. Even though correlated, marketingactivities do not directly equate to sales outcomes.

One cause for such unproductive and ineffective lead generation is theopen-loop nature of conventional B2B marketing strategies, which areoften viewed in isolation, separately from sales functions. There aremany marketing activities that generate leads, yet it is hard toconsistently source leads generated to specific acquisition channels.For example, marketing acquisition channels include, but are not limitedto, events, content marketing, Search Engine Optimization (SEO),advertising, emails, webinars, referrals, and many others. Depending onthe particular industry of interest and the amount of resourcesinvested, different acquisition channels provide leads with differentlead-to-opportunity conversion rates.

Another difficulty in generating a consistent number of leads of acertain quality with certain prospect profiles is advertising and datafraud, made easy by the anonymous nature of digital advertising.Advertising fraud may result from the use of bots that mimic theactivities of human browsers, from inflated advertising counts via pixelstuffing and ad stacking, or from inaccurate or insufficient datacollection by advertising channels, such as via cookies by Facebook,LinkedIn, or Google, or by other means. Data fraud or “dirty data” mayresult from inaccurate data input or collection, such as when unverifiedor fraudulent ages, locations, or identities are extracted from socialmedia networks. In general, advertising tends to generate a widespectrum of leads in terms of quality, with large fluctuations in costspent per lead.

Moreover, it is common practice for B2B companies to utilize sales forceautomation (SFA) systems designed based on conventional marketingstrategies developed before the advent of the social networking age.Such tools streamline the business process, but are not capable ofseizing on as many potential opportunities as possible. SFA systems usesoftware to automate the business tasks of sales, including orderprocessing, contact management, information sharing, inventorymonitoring and control, order tracking, customer management, salesforecast analysis, employee performance evaluation, and even marketing.SFA is often carried out using Customer Relationship Management (CRM)software. Many CRM and SFA systems were designed in the 1990s, beforesocial networking became ubiquitous, and thus such systems often reflectthe conventional way that business operates, where a salespersoninitiates an action, instead of having the customer taking initiative.In the case where system data are not up-to-date, there would be furtherlags and missed opportunities. Also, while some systems generatelookalike clients to existing customers, they do so by relying oninternal information only, and are thus limited in capturing potentialclients not already in the system. Alternatively, some systems generatelookalikes based on external data sources, but are usually limited tosimple demographic data.

Furthermore, marketers often fall under the false impression that alldigital marketing tools necessary for growth and for generating newleads roll up under the hood of marketing automation. This misconceptionleaves many marketers with sophisticated tools to automate the middle oftheir funnel, yet without generating new leads to nurture in the firstplace. As a result, marketers end up buying lists of email addresses tonurture instead of generating inbound leads, which are customerinitiated, and reflect a higher level of customer interest. Whileoutbound marketing to large email lists seems like a quick fix, this isnot a long-term solution for sustained success, nor does it create anyfertile ground for a healthier, longer relationship between B2Bcompanies and their future customers. Therefore, obtaining reliablebusiness client leads with conventional marketing and sales automationsoftware is often time consuming and expensive.

In addition, marketers often target companies and personas that do notreflect their ideal customer profile (ICP) and end up spending marketingbudgets on unqualified prospects, wasting company funds and the time oftheir sales counterparts.

Therefore, in view of the aforementioned difficulties, it would be anadvancement in the state of the art to provide systems and methods forgenerating high-quality business leads for B2B companies.

It is against this background that the present invention was developed.

BRIEF SUMMARY OF THE INVENTION

The inventors of the present invention have created methods and systemsfor determining and discovering business clients matching ideal customerprofiles (ICPs) for targeted advertising campaigns.

More specifically, in one aspect, one embodiment of the presentinvention is a method for generating opt-in business leads for abusiness-to-business (B2B) company utilizing targeted advertisingcampaigns, comprising the steps of retrieving an ideal customer profile(ICP) personifying an ideal customer, the ICP comprising ICP businessattribute fields and ICP persona attribute fields, where the ICP personaattribute fields identify one or more personal roles within a companyidentified by the ICP business attribute fields; generating candidateleads by retrieving candidate leads from one or more lead data sources,where each candidate lead matches the ICP based on a match rate signal,and where the match rate signal is calculated based on attributes ofeach candidate lead matching the ICP business and persona attributefields; generating one or more test campaigns, where each test campaignis associated with a campaign cost, one or more advertising channelpartners, one or more landing pages, and a group of test leads, andwhere the associated group of test leads is a subset of the candidateleads; directing each test campaign to the associated group of testleads, using the one or more associated channel advertising partners;receiving feedback information on each test campaign from the associatedgroup of test leads, through the one or more associated landing pages,where each test lead who responds affirmatively to the one or moreassociated landing pages is marked as an acquired lead; computing a testcampaign score for each test campaign, based on a number of the acquiredleads acquired through the test campaign, and a campaign cost per lead(CPL); generating and directing a targeted advertising campaign to asubset of the candidate leads, wherein the targeted advertising campaigncomprises one or more micro-campaigns, wherein each micro-campaignreplicates a test campaign with a test campaign score exceeding acampaign score threshold, and wherein each micro-campaign is directed toa subset of the candidate leads that match a profile of the test leadgroup associated with the replicated test campaign; and generating theopt-in business leads by selecting candidate leads that respondaffirmatively to the targeted advertising campaign.

In some embodiments of the present invention, the method furthercomprises the steps of serving the acquired leads to a CustomerRelationship Management (CRM) system; and retrieving opportunity data onthe acquired leads from the CRM, where the computing of a test campaignscore for each test campaign is further based on opportunity amounts ofclosed opportunities for the acquired leads acquired by the testcampaign.

In some embodiments, the test campaign score computed for each testcampaign comprises one or more components selected from the groupconsisting of number of impressions, number of clicks,visit-to-form-submission conversion percentage, the campaign cost, theCPL, an opportunity amount, and a probability and a time of closing theopportunity. The visit-to-form-submission conversion percentage iscomputed by dividing the number of the acquired leads acquired throughthe test campaign by a number of test leads in the test lead groupassociated with the test campaign, and the CPL is computed by dividingthe campaign cost associated with the test campaign by the number of theacquired leads acquired through the test campaign.

In some embodiments, the retrieved ICP is generated by: retrievingqualified leads from a Customer Relationship Management (CRM) system,where each qualified lead comprises attribute fields, where eachattribute field has an attribute value, and where each qualified leadhas at least one attribute field having an attribute value satisfying aqualification condition; enriching the qualified leads with enrichmentdata retrieved from one or more enrichment data sources to generateenriched leads, where each enriched lead comprises business attributefields and persona attribute fields; computing a criterion attributevalue score for each criterion attribute field of each enriched lead,where the criterion attribute fields are a subset of the attributefields; computing a lead score for each enriched lead, based on thecriterion attribute value scores for the enriched lead; computing aproperty value score for each property attribute value of each ofmultiple property attribute fields, based on the computed lead scores,wherein the property attribute fields are a subset of the attributefields; and generating ICP attribute fields for the ICP, based on thecomputed property value scores.

In some embodiments, the computing of the weight for each attributevalue of each attribute field is by generating a histogram of attributevalues for each attribute filed, over all enriched leads, and thegenerating of the ICP attribute fields for the ICP is by assigning themode of each generated histogram to the corresponding ICP attributefield.

In some embodiments, the method further comprises the steps of obtainingprimary keys for the qualified leads, obtaining secondary keys using theprimary keys as keys into one or more enrichment data sources, where thesecondary keys serve as primary keys for the enrichment data sources,and enriching each of the candidate lead with enrichment data retrievedfrom the one or more enrichment sources, where the enriching of eachcandidate lead comprises populating one or more attribute fields of thecandidate lead with attribute values retrieved from the enrichment datasources using the secondary keys.

In some embodiments, the method further comprises the step of updatingthe ICP based on the acquired leads by computing a criterion attributevalue score for each criterion attribute field of each enriched lead,where the criterion attribute fields are a subset of the attributefields; computing a lead score for each enriched lead, based on thecriterion attribute value scores for the enriched lead; computing aproperty value score for each property attribute value of each ofmultiple property attribute fields, based on the computed lead scores,wherein the property attribute fields are a subset of the attributefields; and updating ICP attribute fields for the ICP, based on thecomputed property value scores.

In some embodiments, each of the lead data sources is selected from thegroup consisting of a system database, one or more third-partydatabases, and the one or more channel advertising partners.

In another aspect, one embodiment of the present invention is a methodfor generating targeted advertising campaigns for a business-to-business(B2B) company, comprising the steps of: retrieving an ideal customerprofile (ICP) comprising one or more ICP attribute fields personifyingan ideal customer for the B2B company; generating candidate leads byretrieving candidate leads from one or more lead data sources, whereineach candidate lead matches the ICP based on a match rate signal,wherein the match rate signal is calculated based on attributes of eachcandidate lead matching the ICP attribute fields; generating one or moretest campaigns, wherein each test campaign is associated with a campaigncost and an associated group of test leads, and wherein the associatedgroup of test leads is a small subset of the candidate leads; directingeach test campaign to the associated group of test leads, using one ormore channel advertising partners; receiving feedback information oneach test campaign from the associated group of test leads, wherein eachtest lead who responds affirmatively to one of the test campaigns ismarked as an acquired lead; computing a test campaign score for eachtest campaign, based on a number of the acquired leads acquired throughthe test campaign, and a campaign cost per lead (CPL); and generating atargeted advertising campaign to a larger subset of the candidate leadsbased on the test campaign scores of the test campaigns.

Another embodiment of the present invention is a method for generatingtargeted advertising campaigns for a business-to-business (B2B) company,comprising the step of retrieving an ideal customer profile (ICP)comprising one or more ICP attribute fields personifying an idealcustomer; generating candidate leads by retrieving candidate leads fromone or more lead data sources based on the ICP attribute fields;generating one or more test campaigns, wherein each test campaign isassociated with a campaign cost and an associated group of test leads,and wherein the associated group of test leads is a small subset of thecandidate leads; scoring each test campaign by generating a testcampaign score for each test campaign, based on a number of acquiredleads acquired through the test campaign and a campaign cost per lead(CPL), wherein the numbers of acquired leads is calculated based onfeedback information received from each test campaign from theassociated group of test leads, and wherein each test lead who respondsaffirmatively to one of the test campaigns is marked as an acquiredlead; and generating a targeted advertising campaign to a larger subsetof the candidate leads based on the test campaign scores of the testcampaigns.

In yet another aspect, one embodiment of the present invention is asystem for generating ideal and opt-in business leads utilizing targetedadvertising campaigns, comprising a processor, a client-serverconnection to a Customer Relationship Management (CRM) system, aclient-server connection to one or more lead data sources, and anon-transitory, computer-readable storage medium for storing programcode. The program code encodes a leads engine, and a campaigns enginehaving access to one or more advertising channel partners. The programcode when executed by the processor causes the processor to execute aprocess comprising the aforementioned steps.

In yet another aspect, one embodiment of the present invention isnon-transitory computer-readable storage medium for generating opt-inbusiness leads utilizing targeted advertising campaigns, the storagemedium comprising program code stored thereon, where the program codeencodes a leads engine, and a campaigns engine having access to one ormore advertising channel partners, and when executed by a processor,causes the processor to execute a process comprising the aforementionedsteps.

In yet another aspect, the present invention is a computerized servercomprising at least one processor, memory, and computer codes embodiedon the memory, the computer codes which when executed causes theprocessor to execute a process comprising the aforementioned steps.

Yet other aspects and embodiments of the present invention include themethods, processes, and algorithms comprising the steps describedherein, and also include the processes and modes of operation of thesystems and servers described herein. Other aspects and embodiments ofthe present invention will become apparent from the detailed descriptionof the invention when read in conjunction with the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention described herein are exemplary, andnot restrictive. Embodiments will now be described, by way of examples,with reference to the accompanying drawings, in which:

FIG. 1 is an illustrative schematic diagram showing a business leadgeneration framework, according to one embodiment of the presentinvention.

FIG. 2 is an illustrate software architecture diagram for business leadgeneration, according to one embodiment of the present invention.

FIG. 3 is another illustrative software architecture diagram forbusiness lead generation, according to one embodiment of the presentinvention.

FIG. 4 is an illustrative record showing attribute fields of a contactwithin a company, according to one embodiment of the present invention.

FIG. 5 is an illustrative profile attribute Venn diagram showingattributes of an Ideal Customer Profile (ICP), a direct candidate lead,and a lookalike, according to one embodiment of the present invention.

FIG. 6 is a diagram showing different personas involved in a buyingdecision, according to one embodiments of the present invention.

FIG. 7 is an illustrative example showing the generation of ICP, directcandidate leads, and lookalikes in one embodiment of the presentinvention.

FIG. 8 is a flowchart illustrating a process for generating opt-inbusiness leads utilizing audience customization and targeted marketingcampaigns, according to one embodiment of the present invention.

FIG. 9 is an exemplary campaign setup page, according to one embodimentof the present invention.

FIG. 10 illustrates an exemplary campaign flow, according to oneembodiment of the present invention.

FIG. 11 is an illustrative flowchart for a process to generate opt-inbusiness leads, according to one embodiment of the present invention.

FIG. 12 is an illustrative hardware architecture diagram of a server forimplementing one embodiment of the present invention.

FIG. 13 is an illustrative system architecture for implementing oneembodiment of the present invention in a client server environment.

DETAILED DESCRIPTION OF THE INVENTION Illustrative Definitions

Some illustrative definitions are provided to assist in understandingthe present invention, but these definitions are not to be read asrestricting the scope of the present invention. The terms may be used inthe form of nouns, verbs or adjectives, within the scope of thedefinitions.

-   -   “METADATA” is a trademark name carrying embodiments of the        present invention, and hence, the aforementioned trademark name        may be interchangeably used in the specification and drawings to        refer to products/services offered by embodiments of the present        invention. The term METADATA may also be used in this        specification to describe the overall system and/or server        embodying the present invention, processes performed by        embodiments of the present invention, as well as the company        that provides such services and systems.    -   “User” or “System User” refers to an end user of embodiments of        the present invention, or a user or customer of METADATA. A user        may be a person, a device, a company or business that the person        or device belongs to, or a sales or marketing team within the        company or business.    -   “Company” or “Business” is an organization or entity where goods        and services are exchanged for one another, for money, or for        achieving other objectives. A company or a business may be        privately owned, not-for-profit, or state-owned, and it may take        the form of sole proprietorship, partnership, limited liability,        corporation, or public limited company. In the present        disclosure, a company may also be referred to as an account in        user's CRM data.    -   “Business client”, “Client”, “Business customer”, or “Customer”        is a customer of a user of METADATA. In the present disclosure,        a business client, client, business customer, or customer may        refer to either a company or business, or the persons within.    -   “Lead”, “Contact”, or “Prospect” is a prospective consumer of a        product or service, and a potential or an actual existing        customer of a user of METADATA. An existing customer whom the        user has previously served may be suitable for new products or        services currently being marketed, thus may be potential leads        and prospects for targeted marketing campaigns. A lead, contact,        or prospect may refer to individuals, but may alternatively        refer to the company or business an individual belongs to.    -   “Direct candidate lead” is a lead obtained by directly comparing        attributes of leads from various data sources to a given Ideal        Customer Profile (ICP), and selecting those leads that match the        ICP with a high match rate.    -   “Qualified lead” is a lead that meets one or more qualification        conditions or criteria. For example, a qualified lead may be an        existing customer of a given company, and may be associated with        opportunity amounts exceeding a given threshold. Alternatively,        a qualified lead may be associated with future deals having a        positive probability of being closed and won by a user of        METADATA, where such positive chance may be high, above a given        probabilistic threshold.    -   “Opt-in lead” is a lead that affirmatively or positively        responds to marketing or advertising information. Responses from        opt-in leads may also be called feedback, and may be collected        through any new or conventional channels such as landing pages,        social networks, for example, through lead generation campaigns,        emails, mailing list signups, webpage cookies, or phone calls.        An opt-in lead may also be called an acquired lead in some        embodiments of the present invention.    -   “Persona” or “Client Persona” is a role or decision-making        category held by one or more individuals within a company or        business. Exemplary personas include, but are not limited to,        CEO, CTO, CFO, Manager, Director, Economic Decision Maker (EDM),        Technical Decision Maker (TDM), and Business Decision Maker        (BDM). Such roles are generally well understood and may be        defined by demographic signals such as job title, seniority,        professional group, skillset, education and other demographic,        technographic or buyer intent signals. Those roles have defined        responsibilities with respect to a given business, and may be        reached out to by METADATA for targeted marketing or advertising        campaigns. For example, a B2B customer may have complex internal        purchasing agents as personas. Such internal purchasing agents        include, but are not limited to, CEO, CTO, CFO, marketing        manager, sales director, director of product, project manager,        program manager, programmer, analyst, database administrator,        designer, chief architect, and software engineer. A persona        describes, and may be specified by, the attributes of an        individual. However, a “persona” is not necessarily equivalent        to an “individual” in the context of targeted marketing        campaigns, which are tailored for specific company roles or        roles within different companies. In one example, a company may        have only one employee, who serves as the CEO, CTO, and CFO        concurrently. In this case, there are three personas, but just        one individual employee who holds all three titles.    -   “Profile” or “Customer Profile” comprises attribute fields to        describe a business client or a set of business clients, and        includes two parts: company, and persona. Exemplary company        attributes include, but are not limited to, industry, revenue,        number of employees, brands, and growth. Exemplary persona        attributes are as described above, and may include, for example,        age, gender, title, and education level.    -   “Ideal Customer Profile” (ICP) is a lead profile or customer        profile defining, describing, quantifying, or personifying core,        ideal customers that drive the most revenue. An ICP may be used        to benchmark existing leads, or as template for generating new        leads. An ICP may contain two aspects, company and persona,        where each may be specified by one or more attribute or property        fields. A company profile characterizes a client organization of        interest. A persona profile characterizes the client in terms of        one or more roles within the client organization for targeted        marketing campaigns. An ICP may comprise attributes correlated        with high probability of successfully closing and winning        high-value deals, in terms of metrics, scores or weightings as        defined or disclosed herein. An ICP is a “template” for ideal        customers, based on various parameters that are described by        attribute fields. Some examples of attribute fields describing        ICPs are illustrated in FIG. 7. For example, the attribute        fields of “seniority=Executive” and “age <=35” in an ICP would        indicate that the persona of an ideal customer is an        executive-level individual with an age of less than or equal        to 35. These attribute fields are used to match potential leads        to the ICP, based on a match rate signal.    -   “Lookalike” is a candidate lead obtained through comparing and        matching attributes of leads from various data sources to the        profile of one or more direct candidate leads. Lookalikes of        lookalikes may be similarly generated, so that there may be a        hierarchy of lookalike candidate leads at different levels.        Direct candidate leads and lookalikes at different levels may        both be targeted by marketing campaigns in the same way.    -   “Match rate” or “Match rate signal” is a score or measure of the        similarity of a lead to a given profile such as an ICP. Leads        with high match rates may be considered as “matching” the ICP.        In one example, a match rate may be computed as a percentage of        the number of attributes in a lead that matches those for a        given ICP; in another example, a match rate may be computed as a        weighted combination of degrees of similarities between lead        attributes and ICP attributes. Other examples of match-rate        signals include percentage of attributes of a customer lead        meeting the attribute fields of the ICP, number of attributes of        a customer lead meeting the attribute fields of the ICP, a        weighted average of attributes of a customer lead meeting the        attribute fields of the ICP, and so on. “Demand generation”        refers to the generation of high quality leads that match one or        more ICPs, and respond to targeted advertising campaigns.    -   “Test target group”, “target set”, “test lead group,” or        “targeting set” is a subset of candidate leads selected based on        certain criteria for marketing campaigns direction and        targeting.    -   “Cost per lead” (CPL) is an advertising channel partner cost of        an acquisition of a new acquired, opt-in, or qualified lead. A        CPL is an expense that a user of the METADATA system bears for        reaching the lead through paid media, such as channel        advertising partners.        Overview

With reference to the definitions above and the figures provided,embodiments of the present invention are now described in detail.

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the invention. It will be apparent, however, to oneskilled in the art that the invention can be practiced without thesespecific details. In other instances, structures, devices, activities,and methods are shown using schematics, use cases, and/or flow diagramsin order to avoid obscuring the invention. Although the followingdescription contains many specifics for the purposes of illustration,anyone skilled in the art will appreciate that many variations and/oralterations to suggested details are within the scope of the presentinvention. Similarly, although many of the features of the presentinvention are described in terms of each other, or in conjunction witheach other, one skilled in the art will appreciate that many of thesefeatures can be provided independently of other features. Accordingly,this description of the invention is set forth without any loss ofgenerality to, and without imposing limitations upon, the invention.

Broadly, embodiments of the present invention relate to methods andsystems for demand generation, where high-quality opt-in business leadsare identified using audience customization, targeted advertisingcampaigns, and lead profile optimization based on target audiencefeedback. Generally, Business-to-Business (B2B) companies face thechallenge of generating a predictable volume of high-quality leads perunit cost spent in paid advertising. Embodiment of the present inventionincreases the likelihood of generating low-cost, high-quality leads byproviding a closed-loop process that starts from Ideal Customer Profiles(ICPs) and ends in form conversions. The generated opt-in business leadsmay be sent to a Customer Relationship Management (CRM) or marketingautomation system, to be followed up by a sales team. Such opt-in leadsare associated with higher marketing-to-sales conversion ratios.

More specifically, the METADATA system first finds and enrichescandidate leads that match a set of attribute criteria specified by oneor more ideal customer profiles (ICPs), which characterize an idealperson within a potential client organization for targeted advertisingcampaigns. The METADATA system then utilizes a multivariate testingprocess to generate and evaluate test campaigns with differentcombinations of campaign parameters such as campaign costs and campaignlanding pages. Each test campaign may be associated with a campaignbudget or cost, to be paid to channel advertising partners for executingthe campaign over third-party platforms. Each test campaign is directedto a group of associated test candidate leads. Once test campaigns arein action, the METADATA system may automatically feed click-throughsfrom the advertising or landing pages as acquired customer leads backinto the system, and may, in some embodiments, further feed transactionactivities by the acquired leads from the CRM back into the system. Suchfeedback information and other direct and/or indirect responses to thetest campaigns indicate a level of interest and a likelihood to closingby the acquired leads. METADATA may then perform filtering andstatistical analysis to ensure the quality of the acquired leads, todifferentiate or stratify such leads into various levels of qualitybased on one or more scoring criteria and to update and optimize the ICPto capture and customize more relevant candidate leads for targetedadvertising. METADATA may also score test campaigns and sub-campaigns,using campaign scoring criteria such as voluntary opt-in rates, leadqualities, cost per lead (CPL), generated opportunity amount, and otheranalogous metrics. The best-performing test campaigns may be targeted tolarger subsets of the candidate leads, to generate additional opt-inleads, to interactively improve the quality of the ICP, and the testcampaigns, all for further marketing and sales automation down the salefunnel.

In contrast to conventional and current existing sales automationsystems and technologies, METADATA closes the marketing loop bytargeting tailored advertising campaigns to a custom audience, andconverting candidate leads into acquired leads. METADATA also utilizesmultivariate testing of individual test campaigns and statisticalanalysis of campaign responses to optimize the ICP, individualcampaigns, and the composition of target lead groups. METADATA istherefore capable of iteratively refining respective characteristics ofICPs, target lead groups, and campaigns, with quantitative fine-tuningof granular criteria. Moreover, METADATA allows users to manually adjustthe parameters and revise the results of the automatic processes asdisclosed herein. In this way, audience customization and targeting maybe achieved on a large scale with very high accuracy and low cost, astesting on small subsets of candidate leads reduces unnecessary delayand extra costs to channel advertising partners. A key advantage of theMETADATA system through its closed-loop architecture is its ability toproduce high-quality, opt-in leads which a sales team can better focuson nurturing, instead of outputting a large number of contactsindiscriminate of their sales potential. Additionally, the ability tonarrow down the targeting to a discrete list of companies and prospectsthat perfectly match the ICP and resemble historical customers, togetherwith a ‘pull vs push’ (i.e. inbound vs outbound), guarantees a scalableprocess and provides pipeline predictability in terms of quality andquantity.

System Architecture

FIG. 1 is an illustrative schematic diagram 100 showing a business leadgeneration framework, according to one embodiment of the presentinvention. Bi-directional data flows are shown here between a CustomerRelationship Management (CRM) system 102, a system user 105, METADATAsystem 110, third-party systems including one or more databases 130,leads 140, and one or more advertising partners 160,

In some embodiments, METADATA system 110 may receive the system user'sCRM data from CRM system 102. Such CRM data may comprise lead profiles,Ideal Customer Profiles (ICPs), and/or accounts, opportunities,contacts, and leads. Alternatively, METADATA system 110 may receive CRMdata from system user 105 directly, or from an internal METADATAdatabase, not shown explicitly here.

Generally, a lead, contact, or prospect is a prospective consumer of aproduct or service, and a potential or an actual existing customer of auser of METADATA. An existing customer whom the user has previouslyserved may be suitable for new products or services currently beingmarketed, thus may be potential leads and prospects for targetedmarketing campaigns. A lead, contact, or prospect may refer toindividuals, but may also refer to the company or business an individualbelongs to. In FIG. 1, leads 140 refer to actual companies, individuals,or end user devices operated by individuals, from whom advertisingcampaign feedback data such as click-throughs may be collected.

A user or system user such as 105 refers to an end user or customer ofMETADATA. A user may be a person, a device, a company or business thatthe person or device belongs to, or a sales or marketing team within thecompany or business. A company or business is an organization or entitywhere goods and services are exchanged for one another, for money, orfor achieving other objectives. A business client, client, or businesscustomer, is a customer of a user of METADATA. In the presentdisclosure, a business client, client, business customer, or customermay refer to either a company or business, or the persons within

A lead profile or customer profile may comprise attribute fields todescribe a business client or a set of business clients to system user105. An ICP is a lead or customer profile defining, describing,quantifying, or personifying core ideal customers that may drive themost revenue to system user 105. The ICP may comprise attributescorrelated with high probabilities of successfully closing and winninghigh-value deals, in terms of metrics, scores or weightings as definedor disclosed herein. The ICP may be used to benchmark existing leads, oras template for generating new leads. The ICP may contain two aspects,company and persona, where each may be specified by one or moreattribute fields. A company profile specified by company attributefields characterizes a client organization of interest. A personaprofile specified by persona attribute fields characterizes the clientin terms of one or more roles within the client organization fortargeted marketing campaigns. Exemplary company attributes include, butare not limited to, industry, company name, revenue, number ofemployees, brands, and growth. Exemplary persona attributes includepersonal name, age, gender, title, seniority, education level, and thelike.

In some embodiments, a persona or client persona specifies a role ordecision-making category held by one or more individuals within acompany or business. Such personas include, but are not limited to, CEO,CTO, CFO, Manager, Director, Economic Decision Maker (EDM), TechnicalDecision Maker (TDM), and Business Decision Maker (BDM). Such roles aregenerally well understood and may be defined by demographic signals suchas job title, seniority, professional group, skillset, education andother demographic, technographic or buyer intent signals. Those rolesusually have defined responsibilities with respect to the givenbusiness, and may be reached out to by METADATA for targeted marketingor advertising campaigns. In some cases, a B2B customer may have complexinternal purchasing agents as personas. Such internal purchasing agentsinclude, but are not limited to, CEO, CTO, CFO, marketing manager, salesdirector, director of product, project manager, program manager,programmer, analyst, database administrator, designer, chief architect,and software engineers. A persona describes, and may be specified by,the attributes of an individual. However, a persona is not necessarilyequivalent to an individual in the context of targeted marketingcampaigns, which are tailored for specific roles within differentcompanies. In one example, a company may have only one employee, whoserves as the CEO, CTO, and CFO concurrently. In this case, there arethree personas, but just one individual employee who holds all threetitles.

Given an ICP retrieved from CRM 102, system user 105, or internalMETADATA storage, METADATA system 110 may generate multiple candidateleads for targeted advertising campaigns by using one or more attributefields of the ICP as search keys into one or more lead data sources. Alead data source may be a METADATA system database, a user database, athird-party database, or a channel advertising partner such as 160. InFIG. 1, third-party databases or third-party partners 130 may compriseone or more lead data sources, and one or more enrichment data sources.Both lead data sources and enrichment data sources may provide softwareas a service, offering business information, contact data, social mediadata, and customer CRM data.

Enrichment data sources may provide to METADATA system 110 additionallead attribute information as enrichment data to enrich the candidateleads. Depending on data availability, the enrichment process may yieldzero, one, or multiple enrichment attributes for each candidate lead. Insome embodiments, the enrichment data may include new attribute fields,or attribute values for existing attribute fields. In some embodiments,primary keys may be obtained for the candidate leads, and secondary keysmay be obtained using the primary keys as keys into the enrichment datasources, where the secondary keys now serve as primary keys for theenrichment data sources. The enrichment of each candidate lead maycomprise populating one or more attribute fields of the candidate leadwith attribute values retrieved from the enrichment data sources usingthe secondary keys.

In some embodiments, candidate leads as obtained or generated above, bydirectly comparing lead attributes to a given ICP, may be called “directcandidate leads.” In some embodiments, the candidate lead generationprocess may further include one or more steps to obtain lookalike leadsand lookalikes of lookalikes. Direct candidate leads and lookalike leadsconstitute a customized audience of candidate leads for targetedadvertising campaigns. In some embodiments, the ICP may be iterativelyupdated or optimized based on feedbacks from targeted candidate leads,and the customized audience may be refined or supplemented withadditional candidate leads generated based on the updated ICP.

In some embodiments, system user 105 may provide configurable campaignparameters such as campaign budgets, and campaign offers includinglanding pages for testing and comparison through the METADATA system.For example, multivariate testing may be performed. Multivariate ormulti-variable testing is a technique for testing a hypothesis onmultiple variable systems. The goal of multivariate testing is todetermine which combinations of the variables perform the best out ofall possible combinations. In the context of campaign testing, systemuser 105 may specify intended advertising channels, define particularparameters for marketing campaigns, and provide campaign budgets,creatives, and assets such as white papers, e-books, webinars, or otherinformative and/or incentive information, to be amplified through theadvertising process. Such assets may be amplified through third-partyadvertising partners 160, via METADATA system 110,

For each combination of campaign parameters such as test campaignbudget, landing pages, and customized test leads, METADATA system 110may send automatically generated campaign landing pages to third-partyadvertising partners 160, which in turn serve these pages to a group oftest target leads 140. A test target group, target set, test lead group,or test set is a subset of candidate leads selected based on certaincriteria for marketing campaign targeting. Third-party channeladvertising partners such as 160 may provide advertising platformsthrough which targeted campaigns may be run.

In various embodiments of the invention, a candidate lead may indicatevarious levels of interest by providing feedback through one or morechannels. Responses from candidate leads may also be called feedback,and may be collected through any new or conventional channels such aslanding pages, social networks, emails, mailing list signups, webpagecookies, or phone calls. For example, a lead may click on the campaignpage, thereby directly submitting feedback to third-party advertisingpartners 160, which may route such feedback information into system 110.A candidate lead may also respond to the campaign indirectly. An exampleis when a candidate lead does not click on the landing page, but ordersa product or service provided by system user 105 directly in a newbrowser window. In this case, system user 105 may provide the orderinformation to METADATA 110 directly, or indirectly through CRM system102. In another example, a client may not click on a landing page, butmay physically leave his or her office, drive to the airport, and whileon the airplane, use in-plane Wi-Fi to buy the product upon rememberingthe advertisement seen earlier. This sale may be recorded by system user105 in CRM system 102 as one or more lead attributes, such as the amountof this deal, its status of being closed and won, and the time at whichit went through. These lead attributes may then be fed back intoMETADATA system 110 by CRM 102. Yet another situation of indirectresponse to a campaign is that an existing client of the system user,upon seeing the campaign page, does not click on it, but insteadcontacts a salesperson of the system user's organization directly toconduct business for a new transaction. Such a transaction would againbe recorded in CRM 102, and lead attributes updated with the time,amount and status of the transaction. These client responses and leadattributes may be fed back into system 110 by CRM 102.

After test campaigns are deployed, METADATA system 110 may analyzecollected campaign results to evaluate the effectiveness of each testcampaign. Furthermore, user 105 may input into system 110 notes on anindividual or a group of leads, based on observations of the campaignresults. In some embodiments, lead scores and/or campaign scores may becomputed based on candidate lead attributes and candidate leadfeedbacks.

A lead score is a numerical value that may quantify the quality of alead, and may be used to differentiate or stratify leads into variouslevels of quality based on one or more scoring criteria. In someembodiments, the lead score may be independent of test campaigns towhich the lead has been targeted to; in some embodiments, the lead scoremay additionally indicate a level of interest or responsiveness by thelead to a test campaign, and to the B2B user's products and services. Tocompute a lead score, one or more lead score criteria may be convertedto numerical values, normalized, and combined in a nonlinear or linearfunction, such as a weighted average, to compute a single lead score foreach lead. Lead scores criteria may include, but are not limited to,match rate to an ICP, match rate to a targeted account, voluntary opt-inweight, campaign cost, previous or expected booking amount, time tobooking, opportunity, opportunity amount of closed opportunities,opportunity chance, user manual feedback, and combinations thereof. Asan illustration, assume lead scores are computed and normalized to havevalues between 0 and 1, where 0 indicates a lowest quality, and 1indicates a highest quality lead. In one example, a lead score may beassigned the binary value of 1 if the lead has voluntary opted-in to atest campaign, and 0 otherwise. In another example, a lead score may becomputed by averaging a match rate signal to an ICP, and a voluntaryopt-in weight for a given test campaign. That is, if the lead hasmatched to 80% of the ICP's attributes, yet has not opted-in for thetest campaign, a lead score may be computed as ½(0.8+0)=0.4, indicatingthat the lead has good potential to respond, but did not respond to thisparticular test campaign. These formulas described herein are exemplaryonly, as one of ordinary skill in the art would recognize multiplenonlinear or linear formulas are within the scope of the invention, andthe formulas shown here are not intended to be limiting the scope of theinvention.

Similarly, numerical campaign scores may be computed based on one ormore campaign score criteria or components, to evaluate the strength ofa campaign, and to quantify the effectiveness of the campaign inacquiring leads. In some embodiments, each campaign score component maybe configurable. Exemplary components include, but are not limited to,number of impressions, impression rate or percentage, number of clicks,click rate or percentage, match percentage and/or match rate of leads tothe ICP, match percentage and/or match rate to a targeted account,visit-to-form-submission conversion percentage, campaign budget or cost,cost per lead (CPL), match rate signal, candidate lead voluntary opt-inweight, previous or expected booking amount, time to booking,opportunity, opportunity amount of closed opportunities, opportunitychance, user manual feedback, and lead scores computed by METADATA orprovided by the CRM. CPL may be an advertising channel partner cost ofan acquisition of a new acquired, opt-in, or qualified lead. A CPL maybe an expense that a user of the METADATA system bears for reaching thelead through paid media, such as the advertising channel partner. Anynumber of such components may be converted to numerical values,normalized, and combined in a nonlinear or linear function, such as aweighted average, to compute a single campaign score for each campaign.As an illustration, assume campaign scores are computed and normalizedto have values between −1 and 1, with better campaigns having higherpositive scores. In one example, a campaign score may be computed as thevisit-to-form-submission conversion percentage, and a test campaign witha 50% visit-to-form-submission ratio may be assigned a score of 0.5. Inanother example, a test campaign score may be computed as a weightedaverage of mean voluntary opt-in weight, mean match rate of test leadsto the ICP, and a normalized CPL offset. That is, if a test campaign hasbeen targeted to two leads at a CPL of $2 when a maximum CPL thresholdis $10, with each lead matching 60% and 80% of the ICP's attributes, andwhere each lead opted-in for the test campaign, a campaign score may becomputed as −⅓[½(0.6+0.8)+(1+1) $2/$10]=0.5. On the other hand, if for asimilar test campaign targeted at the two same leads, the CPL is $10,and only one lead opted-in, the campaign score may be computed as−⅓[½(0.6+0.8)+½(0+1)−$10/$10]=0.07. Clearly, the first campaign scoreindicates that the first test campaign has better quality, as more idealleads have opted in, while the CPL is low. In these examples, CPL iscalculated as the overall campaign cost divided by the total number ofleads. In some embodiments, CPL may refer to cost per acquired leadinstead, and the formulation of campaign scores may be adjusted to takeinto account such differences in the terminologies. These formulasdescribed herein are exemplary only, as one of ordinary skill in the artwould recognize multiple nonlinear or linear formulas are within thescope of the invention, and the formulas shown here are not intended tobe limiting the scope of the invention.

Based on computed campaign scores, METADATA system 110 may eliminatetest campaigns that have performed poorly, for example, with scoresbelow a given threshold, and may further promote high-score testcampaigns by deploying them again to larger groups of target candidateleads. A main targeted advertising campaign may therefore be deployed inlarger scale, where the main campaign comprises one or moremicro-campaigns that were replicated from the high-performing testcampaigns. In addition, candidate leads that respond affirmatively totest campaigned may be studied, and its attribute values used to computeattribute scores, for further updates to the ICP. With such campaignfeedbacks, both target audience and target campaigns may be iterativelyoptimized, to drive down the cost per high-quality lead, and to improvethe likelihood of identified opt-in business leads participating inpurchase actions in later stages of the sales funnel.

FIG. 2 is an illustrative software architecture diagram 200 for opt-inbusiness lead generation, according to one embodiment of the presentinvention. Here METADATA system 210 is divided into four modules:adapter 212, profiler 220, custom audience service module or leadsengine 230, and campaigns and tracking service module or campaignsengine 250.

In some embodiments, adapter and profiler 220 may be optional, and anICP may be retrieved directly as part of CRM data 205 from CRM system202 by custom audience service module 230. A custom audience searchsub-module 234 may use the ICP to find candidate leads. For example, theICP criteria may be pushed into a search engine, connected to one ormore third-party data sources 240, to locate potential leads frompotential companies that fit the ICP, and to enrich the candidate leadsusing enrichment data retrieved from enrichment data sources. Exemplarythird-party databases that may serve as lead data sources and enrichmentdata sources include, but are not limited to, Insideview 242, Zoom Info244, Datanyze 246, and Leadferret 248. Some third-party databases areprovided by third-party advertising partners. For example, advertisingplatforms such as Facebook, Twitter, and LinkedIn may be used to findand enrich candidate leads as well. Candidate lead thus generated may bestored locally in a target audience database 232. In some embodiments,custom audience search sub-module 234 within METADATA system 210 maydictate which third-party database(s) to use as the lead data source,and which to use as enrichment data source. In some embodiments, asystem user (not shown in FIG. 2) may dictate which third-partydatabase(s) to use as the lead data source, and which to use as theenrichment data source.

A lead may be considered “matching” a given ICP or satisfying the ICPcriteria if its attribute fields match that of an ICP with a high matchrate or a high probability. A match rate or match rate signal may be ascore or measure of the similarity of a lead to a given lead profilesuch as an ICP. In one example, a match rate may be computed as apercentage of the number of attributes in a lead that matches a givenICP. In another example, a match rate may be computed as a percentage ofICP attributes that the lead has matched to. For instance, assume an ICPhas 10 attribute fields. A lead that matches to 80% of the ICP criteriaor 8 of the attribute fields may be assigned a match rate of 0.8. Amatch rate may also be computed as a weighted combination of degrees ofsimilarities between lead attributes and ICP attributes. For example,some ICP attribute fields such as “annual revenue” may weight more thanother ICP attribute fields such as “number of employees.” For an ICPwith 10 attribute fields, annual revenue may be assigned a weight of 2,while other fields may be assigned a weight of 1 each. Thus, a lead thatmatches to 8 of the ICP criteria, including the annual revenue, may beassigned a match rate of 9/11, or 0.818.

In some embodiments, adapter 212 and profiler 220 may be used toexplicitly generate an ICP, to be used by custom audience service module230. For example, a system user's CRM data 204 including accounts orcompanies, opportunities, contacts, and leads, may be downloaded fromCRM system 202 as qualified leads, via a download file or salesforceintegration. In some embodiments, such CRM data 204 may be processed byadaptor 212 for compatibility with METADATA's local storage formats. Insome embodiments, adapter 212 may normalize attribute values ofretrieved qualified leads to desired ranges. An attribute field may takeon numerical, textual, or alphanumerical values, may have anot-applicable (n/a) value, or maybe blank to indicate that theattribute value is missing. Each qualified lead may have at least oneattribute field having an attribute value satisfying a qualificationcondition. For example, the qualified leads may be past clients of thesystem user, or may have previously expressed interest in the systemuser's service or products. The retrieved qualified leads may be storedin METADATA's internal database 222.

In some embodiments, retrieved qualified leads locally stored indatabase 222 may be enriched by an enrichment and normalizationsub-module 224, through an enrichment process similar to that discussedwith reference to FIG. 1. Although not shown explicitly in FIG. 2,Profiler 220 may interact or connect directly or indirectly withthird-party databases 240 to enrich the qualified leads. Again,normalization of individual attribute values may be performed when leadattribute data are retrieved from multiple data sources, and/or whennecessary for the profiling process conducted by a profiling sub-module226.

Profiling sub-module 226 may analyze enriched qualified leads to findmost prominent deals, and determine a list of company and contactcriteria that make up an Ideal Customer Profile (ICP), or a profile fora target audience. Statistical modeling, analysis and cluster analysisalgorithms from machine learning may be used to determine the ICP. Anexemplary but non-limiting ICP generation process utilizing the K-MEANSanalysis is discussed in detail in the subsection entitled “Generationof a Lead Profile” later. A simpler exemplary histogram-based ICPgeneration processes is described with reference to FIG. 8. Thegenerated ICP may be transmitted to custom audience search module 234for determining candidate leads. In some embodiments, an ICP may begenerated from a plurality of qualified leads; in some embodiments, anICP may be generated from a single qualified lead, which may be viewedas a targeted contact.

Once the ICP is retrieved or generated, candidate leads may be createdby comparing or matching available lead data to the ICP. In someembodiments, the number of direct candidate leads found by comparing tothe ICP directly may be limited. One possible solution is to upload thedirect candidate leads to third-party databases or third-party partnersto obtain lookalike leads. Another possible solution is to update theICP via profiler 220, by analyzing the enriched direct candidate leads,and finding additional candidate leads that match the updated ICP.Viewed another way, a lead profile may be generated by profiler 220 fromthe enriched direct candidate leads, and used subsequently to findlookalikes to supplement the candidate lead pool. A lookalike is acandidate lead obtained through comparing and matching attributes ofleads from various data sources to the profile of one or more directcandidate leads. Lookalikes of lookalikes may be similarly generated andenriched, so that there may be a hierarchy of lookalike candidate leadsat different levels. Enriched direct candidate leads and lookalikes atdifferent levels may both be targeted by marketing campaigns in the sameway. Solutions in the prior art generate lookalikes based on internalchannel information. Embodiments of the present invention, in contrast,since it connects to many other data sources, may use a much largernumber of attributes to generate lookalikes. Moreover, rather than justhaving channel partners generate lookalikes, the system may itselfgenerate lookalikes, before conducting AB testing, or other kinds oftestings, between the target sets generated internally versus thosegenerated by the channel partners.

As an illustrative example, the system may count how many lookalikecandidate leads having, for instance, a match rate over 0.8 or aprobability chance of closing future deals of over 70%, have beengenerated, and repeat the process to obtain more leads, if necessary,until a satisfactory amount has been generated to support the goals of acampaign. For example, if 1,000 conversions are required on a 10%visit-to-form-submission, then approximately 10,000 lookalike prospectsare required. The quality of each candidate lead, no matter direct orlookalike, with respect to the mean, may also be evaluated.

If not enough leads are generated with the specified level of a metric,such as match rate or probability chance, the user may choose to lowerthe required level of such metric to increase volume, or simply targetmore lookalikes by generating higher-level lookalikes iteratively. Forexample, the METADATA system may upload 1,000 best contacts of candidateleads to Facebook, and generate a two million lookalike audience basedon these best contacts. In this way, from 1,000 best existing matches tothe ICP, two million addition Facebook “lookalikes” are added to theexisting direct candidate leads previously obtained from the ICP. Thislookalike generation process may alternatively be done in the METADATAsystem internally, through other media channel partners, or even withinthe clients' own lookalike generation system, if available.

Once a custom audience comprising multiple candidate leads have beengenerated, these candidate leads may be sent to campaigns and trackingservice module 250, where dozens, hundreds, thousands, or even millions,of test advertising campaigns may be created by a create, manage, andtrack campaign sub-module 254, possibly under a multivariate testingframework as discussed with reference to FIG. 1. Each test campaign maybe allocated, assigned, or associated with a campaign budget or cost,campaign assets, and designated landing pages. Each test campaign maytarget a different test target set, for example, a subset of the directleads, lookalikes generated internally, lookalikes generated by channelpartners, lookalikes of lookalikes, or a subset based on othermicro-criteria. Each test target set may comprise any number ofcandidate leads, where the number of leads may depend on the allocatedbudget, desired campaign length, and other campaign parameters. Forexample, in the earlier case where 2 million lookalike leads weregenerated, assume a single campaign asset is to be distributed through 3different landing pages via two different advertising partners of equalcost, and a total campaign budget is available for advertising to 6000leads. Six test campaigns may be created, each having a differentlanding page, a different advertising partner, and a target group having1000 leads. For instance, one test campaign may include Facebook, aCustom Audience A, and a landing Page B. In some embodiments, differenttest target sets may have non-empty intersections. That is, a candidatelead may be present in more than one test groups, each associated withdifferent campaigns. In some embodiments, test leads may be randomlychosen from the pool of candidate leads and randomly assigned todifferent test groups. In other embodiments, test leads may be assignedbased on lead profiles, lead attributes, or lead scores. For example, aset of CTOs and technical managers may be targeted by a technicalcampaign. In another example, a set of candidate leads having leadscores above a threshold (such as 0.7) may be chosen from the lead pooland targeted by a test campaign with a high budget or higher CPL, whileanother set of candidate leads having lead scores between 0.2 and 0.7may be chosen from the lead pool and targeted by a test campaign with alower budget or lower CPL.

In generating a test advertising campaign, the METADATA system mayprompt a system user to choose among landing pages to determine where toredirect new clicks for this campaign. The system may also connect tomarketing automation to pull current-running campaigns, and match theretrieved campaigns by type to appropriate persona profiles to betargeted, for example, technical campaigns for CTOs and financialcampaigns for CFOs. The system may install code snippets on both thelanding page and an associated ‘thank you’ page, using means includingbut not limited to the following: enrichment JavaScript, UTM and othertracking codes, advertising channels' conversion tracking, andretargeting pixel. The system may estimate a visit-to-form-submissionconversion percentage, or prompt the user to set a value for it. Thesystem may also prompt the user for a total budget, such as $1,500, or anumber-of-conversions goal, such as 300 webinar signups, for thecampaign and a date spectrum, such as from Sep. 1, 2017 to Oct. 1, 2017.Other campaign parameter or criteria may be configured by the user in asimilar fashion as well.

The system may at this point deploy the test marketing campaigns atdifferent levels of hierarchy across multiple channels against thetarget audiences. For example, generated test campaigns may be uploadedwith its target test lead group to different advertising networks orthird-party partners 260 based on hashed keys, such as email, Twitterhandle, Facebook handle, IP address, and cookie, to hyper-target thataudience across these networks. Exemplary third-party partners include,but are not limited to, Facebook, Twitter, AppNexus, and LinkedIn. Thesystem may direct campaign 270 to associated landing pages 280, andmonitor feedbacks from the target audience, to track performances of thetest campaign via tracker 252, which may be implemented usingJavaScript. In different scenarios, a targeted candidate lead may beconverted within the advertising platform, in one of the landing pages,or through other channels, according to the type of the campaign.Converted, opt-in, or acquired leads may be stored in acquired leadsdatabase 256, and may be automatically enriched with additional dataretrieved from third-party databases. The acquired leads may also bepushed into the system user's marketing automation system 290, forexample, Marketo 292 and Hubspot 294.

In some embodiments, module 250 may prompt the system user (not shown)to provide feedback information on the target audience for eachcampaign, through generic or customized interfaces such as email or aCampaign Leads page. The system user may see which candidate leads wereattracted by each campaign, possibly in the form of an opt-in list thatlists all target candidate leads who have responded affirmatively to oneor more of the associated landing pages 280. In some embodiments,statistical data on the campaign's performance may be collected bythird-party partners or the METADATA system, and optionally displayed tothe system user, for manual editing and revision to campaign parametersto optimize campaign performances.

To evaluate the performance or effectiveness of each test campaign,collected campaign results may be statistically analyzed against certainmetrics. As a result, campaign budget may be increased or experimentsmay be eliminated. For example, a visit-to-form-submission conversionrate may be used as the only criteria for campaign success. In theearlier case where 1000 leads are targeted by each of six different testcampaigns, the conversion or opt-in rate for each test campaign may beviewed as a campaign score and ranked, and the test campaign with thehighest score may be further deployed to all of the two millioncandidate leads who are reachable via the advertising platform used inthe best-performing test campaign.

In some embodiments, opt-in or acquired leads may be cross-examined withnew CRM data. For example, acquired leads may be served to the user'sCRM system, and CRM data on the acquired leads may be subsequentlyretrieved or downloaded, after a time delay that may span days or weeks.A test campaign score computed for each test campaign may be furtherbased on this subsequently retrieved CRM data. More specifically, theuser's CRM may provide information on whether an acquired lead is closedor not, and details about bookings such as booking amount, time tobooking, opportunity before booking happens, opportunity amount,opportunity chance or the probability that the opportunity will beclosed and won, and lead scores provided by marketing automationsoftware. In addition, a salesperson from the user's organization mayprovide manual feedback on leads and mark whether they are qualified forcertain conditions. For instance, the system may score a given testcampaign based on CRM data of Salesforce opportunity.created=true andSalesforce opportunity.amount=$10,000.

In some embodiments, the METADATA system may define a candidate-leadvoluntary opt-in weight as a numerical value between 0 and 1,representing a level of interest according to feedback information by acandidate lead to a test campaign. This candidate-lead voluntary opt-inweight may be defined as non-zero for an opt-in or acquired candidatelead, where a candidate lead “opts-in” or is “acquired” when he or sheclicks on a landing page, or otherwise responds to a campaign positivelywithin some specified time frame as specified by the CRM data. Insteadof being discrete and binary, this weight may be continuous, and maydepend on the level of interest indicated in the feedback provided,updated attributes of opportunity amount and status, such as closed andwon, time to positive feedback received, salesperson input as referredto above, and other analogous metrics.

In some embodiments, the score of a given test campaign or campaigntrial is based on a tuple of numerical values that may be weighted, forcomparison with a single threshold or directly compared to multiplethresholds. The tuple may include, but is not limited to, the followingelements: visit-to-form-submission conversion percentage, total budget,advertising cost per lead (CPL), match rate signal, candidate leadvoluntary opt-in weight, booking amount, time to booking, opportunitybefore booking happens, opportunity amount, opportunity chance, andmarketing automation software internal lead scoring. All factorsdiscussed here may be weighted to form a single score for any particularcampaign.

FIG. 3 is another illustrative software architecture diagram 300 foropt-in business lead generation, according to one embodiment of thepresent invention. In this embodiment, a METADATA server 310 containsthree main engines: a leads engine 320, an enrichment 340, and acampaigns engine 360.

To generate high-quality opt-in leads, first, leads engine 320 may sendqueries 322 to an external existing closed opportunities data source330, for example, a CRM system such as Salesforce. An ICP may beretrieved as part of the CRM data 332. Alternatively, qualified leadsmay be retrieved. In some embodiments, using some means to identifyleads as primary key, leads engine 320 may send a query 324 to anenrichment data sources 350, to obtain enrichment data 352 for enrichingthe qualified leads. Based on the qualified leads, leads engine 320 maydetermine one or more ICPs. Enriched leads and the one or more ICPs maybe sent as data 326 to enrichment engine 340 for generating newcandidate leads in addition to the qualified leads.

Enrichment engine 340 may send a query 342 to lead data sources 360 tofetch new leads 352 which match the one or more ICPs. These new leadsare direct candidate leads, and may be further enriched with enrichmentdata 354 retrieved after queries 344 are sent to enrichment data sources350 by enrichment engine 340. These enriched direct candidate leads mayserve again as the input to enrichment engine 340 to generate yet morenew candidate leads, or lookalikes, to be enriched again. This processmay be repeated in any number of iterations to generate a hierarchy oflookalikes. All leads thus generated may be called candidate leads, andall enriched candidates leads may be sent to campaigns engine 360 asdata 346.

In some embodiments, campaigns engine 360 uploads a campaign 364 with aset of enriched candidate leads as the target audience. In some otherembodiments, campaigns engine 360 uploads enriched candidate leads only,and ads service provider 380 targets all or subsets of the candidateleads with existing campaigns. Campaigns engine 360 may also sendcampaign configurations 362 from the system user to a landing page orregistration module 370, which could be internal, or an external onelike Hubspot. Landing page or registration module 370 may upload landingpages 374 onto ads service provider 380, such as Facebook Ads or GoogleAds, to be served to the targeted candidate leads. If targeted leadsdirectly respond to the ads, submission of their information may bereported from ads service provider 380 to landing page or registrationmodule 370, and reported from the landing page or registration module370 through 372 back to campaigns engine 360 for internal analytics.METADATA server 310 may output campaign scores and lead scores 366, andgenerate acquired or opt-in leads by selecting from candidate leads whoresponded affirmatively to the targeted advertising campaigns.

Although only a single campaign 364 has been discussed so far, multipletest campaigns, micro-campaigns, sub-campaigns, or main targetingcampaigns may be run by campaigns engine 360, in sequence, in parallel,or iteratively, to determine preferred campaign parameters from testcampaigns, and to generate high-quality opt-in leads from large customaudiences derived from the ICP and possibly fine-tuned based onperformances of the test campaigns.

Lead Profiles and Attributes

FIG. 4 is an illustrative record 400 showing exemplary attribute fieldsof lead, or a contact within a company, according to one embodiment ofthe present invention. Each row, such as row 420, represents anattribute field, where each attribute may be viewed as a variable havinga variable name as specified by column 412, and a variable value asspecified by column 414. In this example, attribute fields in the uppertable 410 represent an original lead record as retrieved from a leaddata source, while attribute fields in the bottom table 450 representenrichment data as retrieved from one or more enrichment data sources.As discussed previously, lead attribute fields may be divided intocompany attributes and persona attributes. For example, Full Name, JobTitle, Gender, and Education may be persona attribute fields specifyingpersonal information about a contact within the company, while thecompany may be described by company attribute fields such as company,domain, industry, and number of employees. Similarly, enrichment datamay constitute company or persona attribute fields. Attribute fieldsshown in record 400 are for illustrative purposes only, and are meant tobe neither limiting nor exhaustive.

In this example, every single attribute has a specific alphanumericattribute value. The “Persona Twitter” attribute field further comprisesfour sub-fields, including address, tweets count, followers count, andlikes.

FIG. 5 shows a profile attribute Venn diagram 500 illustratingrelationships between an ICP 510, a direct candidate lead 520, and alookalike 530, where the lookalike is obtained based on the directcandidate lead or its profile. As discusses previously, ICP 510 is acustomer profile of various attributes that characterize an idealbusiness customer. There may be one or more ICPs for any givenadvertising campaign. An ICP may be obtained by statistically analyzingand summarizing attributes of existing business leads. It providesquantitative and/or qualitative characterizations of an ideal businesscustomer who is highly likely to positively respond to a marketingcampaign.

Once an ICP is available, a direct candidate lead may be obtained bycomparing or matching attributes of potential leads from various datasources directly to the ICP. A direct candidate lead often matches theICP with a high match rate, as represented by the overlapping portion515 in FIG. 5. In addition, portion 525 may represent direct candidatelead attributes that do not match those of the ICP 510. Such attributesmay be original attributes, or attributes from an enrichment process.Similarly, a lookalike lead 530 may be obtained from one or more directcandidate leads by comparing or matching attributes of potential leadsfrom various data sources to the profile of a direct candidate lead suchas 520, or to the profile of a set of direct candidate leads. Again, alookalike lead may have some original attributes as well as enrichmentattributes obtained from other sources and added to the profile.

In some embodiments, a direct candidate lead 520 may be an opt-in lead.An opt-in lead is a lead that affirmatively or positively responds tomarketing or advertising information directly or indirectly, asexplained above. Responses from opt-in leads may also be calledfeedback, and may be collected through any new or conventional channelssuch as landing pages, social networks, emails, mailing list signups,webpage cookies, or phone calls. Similarly, a lookalike 530 based on oneor more direct candidate leads may or may not opt-in to a marketingcampaign. Furthermore, lookalikes of lookalikes may be generated fromthe lookalikes based on direct leads, and may or may not opt-in.Lookalikes of other various levels may be generated in similar fashions.

FIG. 6 is an diagram 600 illustrating how different personas involved ina buying decision may be represented and related, according to oneembodiments of the present invention. Here, METADATA identifies threeseparate personas, each representing a different entity involved inbuying decisions: an Economic Decision Maker (EDM) 610, a TechnicalDecision Maker (TDM) 620, and a Business Decision Maker (BDM) 630.Overlaps of the circles represent shared attributes between personas.Any buying decision may involve one, or two, or all personas. In thisexample, one buying decision may involve BDM 630 and EDM 610, andanother buying decision may involve BDM 630 and TDM 620. In someembodiments, the METADATA system may ask the user to approve one or morepersonas in a vetting process illustrated as part of FIG. 8 below. Insome embodiments, once a map of personas is built, the METADATA systemmay prompt the user to label each persona with a friendly name such asEDM or TDM for later use.

FIG. 7 is an illustrative diagram 700 showing the generation of an ICP,direct candidate leads, and lookalikes in one embodiment of the presentinvention. As discussed previously, once ICPs including personas aregenerated or identified, large samples of prospective customers may becollected for marketing campaign targeting. Such prospective customersor candidate leads may include direct candidates leads, and lookalikesat various levels. In the case where an ICP is readily available,candidate leads may be generated from the ICP directly.

To understand on a high level how ICP, direct candidate leads, andlookalikes are generated and related, FIG. 7 may be viewed as aschematic diagram 700 showing a candidate lead generation process,according to one embodiment of the present invention. In particular,FIG. 7 illustrates the generation of ICP 720 from original leads 710,712, to 714, the generation of direct candidate leads 730, 732, to 734from ICP 720, the generation of lookalikes 740 from direct candidatelead 730, and the generation of lookalikes 750 from direct candidateleads 732 and 734.

In some embodiments, a profiler 220 or a leads engine 320 may analyzeattributes of original leads 710, 712, to 714, and generate an ICP 720with a company profile 724 and persona profile 728. In this example, alloriginal leads 710, 712 and 714 have roles in companies in the computertechnology sector. Original lead 714 has a very large revenue that maybecome an outliner in the statistical analysis of the original leads,thus ICP 720 may be generated with a revenue attribute field in therange of $500 k-$3M. These attributes are shown in the company profile724 of ICP 720. Similarly, original leads 710, 712, to 714 are inexecutive positions and are almost all between ages 31 and 40; suchattributes show up in persona profile 728 of ICP 720. The profiler orleads engine thus generates ICP 720 with attributes shown in FIG. 7.

From ICP 720, custom audience service module 230 in FIG. 2 or leadsengine 320 in FIG. 3 may retrieve direct candidate leads 730, 732 to 734by matching for ICP attributes 720 from internal and third-party datasources, and may further retrieve lookalikes 740 to 750 by matching forattributes of the direct candidates leads 730, 732 to 734 in a similarway. Note that FIG. 7 shows only one level of lookalike generation, butthis is in general an iterative process. Enrichment of direct candidateleads and lookalikes may be performed after each lead retrieval step.

In FIG. 7, candidate leads 760 may be selected by the METADATA systemfor targeted advertising campaigns, where candidate leads 760 includedirect candidate leads 730, 732, to 734, and lookalikes 740 to 750. Someof these candidate leads 760 may have good match rate signals to the ICPand may opt-in. Moreover, in various other embodiments, multiple ICPsand personas may exist. The user may also specify different criteria ofdifferent levels of granularity.

Once ICPs and candidate leads are identified, the METADATA system mayallow a user to start promoting a certain test marketing campaign to atest target group, which is a subset of candidate leads fulfillingcertain criteria. For example, a test target group may have a targetpersona that resonates with that campaign content.

Generation of a Lead Profile

In this section, an exemplary process for generating a profile for agiven set of leads is described. When the given set of leads arequalified leads associated with existing customers, the lead profilethus generated may be viewed as an Ideal Customer Profile (ICP). Thisexample is meant to be illustrative only, and is set forth, without anyloss of generality to and without imposing limitations upon, the presentinvention.

As described with reference to profiler 220 in FIG. 2, in someembodiments of the present invention, a lead profile may be generatedfrom leads retrieved from CRM 202. Profiler 220 may first enrich theretrieved leads, then generate an attribute value score for each of asubset of the attribute fields of each enriched lead, compute a leadscore for each enriched lead, based on the generated attribute valuescores, and generate attribute fields for the ICP using the computedlead scores of individual leads as weights for corresponding attributedfield values.

More specifically, given a set of leads, contacts, or records R={r₁, r₂,r₃ . . . }, each record rεR may have multiple attribute fields A={_(a1),a₂, a₃, . . . }. A lead profile derived from the set of records R mayhave fewer than |A| number of attributes fields. Those included in thelead profile may form a subset P={p₁, p₂, . . . , p_(i) . . . } of A,called property attribute fields. P may be a proper subset of A, or mayequal to A. To determine the value of these property attributes for thelead profile, another subset C={c₁, c₂, . . . , c_(j) . . . } of A,called criterion attribute fields, may be chosen, and used in computingweight scores for weighting possible values of the property fields ingenerating the lead profile. C maybe be a proper subset of A, or mayequal to A.

Scoring of Criterion Attribute Fields

As described with reference to the exemplary lead 400 shown in FIG. 4,each criterion attribute field may take on numerical or textual values,spanning over different value ranges. Thus, to score each individualcriterion attribute field, the data type of each criterion attributefield may be taken into account. In some embodiments, a scoring functionmay be defined per type of field in C. In what follows, the scorefunction of a record rεR in accordance to some criterion attribute fieldc_(j) is denoted by S_(c) _(j) (r).

For a criterion attribute field c_(j) of type “ENUM,” the enumerationmapping may be applied as a ranking, and divided by some factor tonormalize the enumerated values to between 0 and 1, inclusive.

For fields of type “date” or “number,” a variation of the known K-MEANSalgorithm may be applied. In the K-MEANS algorithm, data points arepartitioned into clusters, where each data point is assigned to thecluster with the nearest mean. In other words, searches may be performedfor a set of points, such that the average distance of all points in theset from corresponding cluster-means is the lowest possible. The K-MEANSalgorithm is described in greater detail athttps://en.wikipedia.org/wiki/K-means_clustering, which is herebyincorporated by reference in its entirety herein. In the context ofscoring attributes, the K-MEANS algorithm may be modified as follows.

First, dates may be translated to a unified time unit having numericalvalues, for example, according to the Unix epoch timestamp, also knownas POSIX time, which is the number of seconds that have elapsed sincemidnight Coordination Universal Time (UTC), Jan. 1, 1970, not countingleap seconds.

For a criterion attribute field taking on non-negative numerical values,a sample average μ_(j) and variance σ_(j) ² of the values in a criterionfield c_(j) may be computed over all |R| number of records. Denote thedistance of a value x in c_(j) from μ_(j) by d(x,μ_(j)), and assume thisrandom variable is distributed according to a Gaussian NormalDistribution

(μ_(j),σ_(j) ²). Remove point outliers with d(x,μ_(j))>maxD_(j), wheremaxD_(j) is a tolerance parameter to exclude extreme values with lessfrequent occurrences in the criterion attribute field c_(j).

For a criterion attribute field c_(j), let C_(j) be the set of attributevalues which remain after the filtering or outlier removal process.Denote the new sample average computed without the outliners by μ′_(j).This value may be used as the center of mass or centroid for thecriterion attribute field c_(j). Define a score function s_(c) _(j)(r)=1/π[2 arctan(x/μ′_(j))], where x is the value of attribute fieldc_(j) in record rεR. This attribute score function s_(c) _(j) (r) hasthree properties. First, this function is normalized, as the image ofthe function is bounded between 0 and 1 for all non-negative values ofx. Second, this function is positively monotonic. Third, the exact valueof the function may be further controlled by using another systemparameter cScore_(j) as a scaling factor, so that for a record with avalue of μ′_(j) n the criteria field c_(j), the attribute score iscScore_(j).

So far, numerical attribute values handled are assumed to benon-negative. For negative values, a minimum value may be determined,and used as an offset in all calculations.

Another attribute field type is strings, without any mappings toenumerations. In this case, an enhancing aggregate function may be used,represented as a graph, with each edge in the graph having a weight ofat least 1. The weight of an edge may represent the distance between theedge's two endpoints, where each endpoint may represent a sample valuefor a criterion attribute field Since such a graph translates into anumerical distance function, the rest of the calculations stay the sameas for numerical values. In some embodiments, string-type attributevalues may be text-normalized to unify variations of the same string,and to preserve database space. For example, dashes may be removed,letter casings may be unified, and abbreviations may be translated.

Scoring a Record

After determining attribute scores s_(c) _(j) (r) for each record rεR,and criterion attribute fields c_(j)εC, a record score s(r) may becomputed for the record r as a whole, by weighting individual attributescores using a weight vector w=[w₁, w₂, w₃, . . . ], where Σw_(j)=1.This weight vector w defines the importance of each criterion attributefield in comparing a record to the other records. For example, an“opportunity amount” attribute field may weight more than a “sign-update” attribute field. Correspondingly, record score s(r) may becomputed as an inner product s(r)=w^(T)v, where vector v=[s_(c) ₁ (r),s_(c) ₂ (r), s_(c) ₃ (r), . . . ] denotes a vector of attribute scoresover attribute fields c_(j)εC, for record rεR. In the case where s_(c)_(j) (r) is normalized, record score s(r) takes on a value between 0 and1, inclusive, as well.

Determining Lead Profile Attribute Values to Generate a Lead Profile

Recall that a lead profile may comprise a set P={p₁, p₂, . . . , p_(i) .. . } of property attribute fields, where P maybe be a proper subset ofthe set of all attribute fields A, or may equal to A. For each value yof a property field p_(i)εP, a corresponding property score may becomputed over all lead records as p_(i,y)=Σ_(rεR,p) _(i) _((r)=y) s(r).In other words, the property value score p_(i,y) for a property value yof a property attribute field p_(i) may be a summation of record scoress(r) over all records that has the value y for its property attributefield p_(i). In some embodiments, this summation may be normalized, orweighted.

With individual property value scores p_(i,y) computed for a propertyattribute field, a sorting operation may be performed, over the propertyvalue scores to return the top t property attribute values, where t is asystem parameter which defines how many targeting values are to bereturned from the algorithm. Note the returned values are notnecessarily continuous or successive.

Learning the System Parameters

Several system parameters are described above. Such system parametersmay be set manually, or automatically by METADATA, with default valuespre-configured or pre-determined.

In some embodiments, the parameter t may be set or configured by thesystem user, or a METADATA operator, depending on the desired number ofcandidate leads that may match the generated lead profile. The parametermaxD_(j) may be configured using a machine learning technique based onthe Newton-Raphson method, where this bound or limit may be testedacross many leads or accounts in accordance to the performance of μ′_(j)as a center of mass for the criterion attribute field c_(j). Each c_(j)may have a different maxD_(j) parameter as its value depends on thelogical meaning of c_(j). The parameter cScore_(j) may be learnt in asimilar way, for each c_(j).

The weight vector w may be configured through user or operator input, ormay be learnt automatically through machine learning. For example, insome embodiments, the Newton-Raphson method may first be applied in thesame way as above. As the amount of enriched data for a set of values ina property field p_(i) grows, a classical K-MEANS algorithm may beapplied, where each data point is a profile of a client that was alreadycalculated in the past. A distance function dist(h₁,h₂) may be definedbetween two such profiles h₁, h₂. In one example, the Euclidean distancemay be used, where dist(h₁,h₂)=√{square root over(Σd(p_(i)(h₁),p_(i)(h₂))²)}, and d is a distance function in accordanceto the type of the field p_(i), similar to that for the criterionattribute fields. Given a new client h and an existing client h′ wheredist(h,h′)≦minDist, minDist being a system parameter learnt under thesame Newton-Raphson method, a new weight vector w′ may be computed forthe new client as w′=dist(h,h′)·w. This process enables the machinelearning of the weighted vector w in accordance to similarities betweentwo profiles.

ICP Generation Example 1

In this subsection, a very simple example is provided to illustrate thelead profile generation process above. Assume three lead records withclosed opportunities are provided. Each lead may have five attributefields: name, industry, revenue, age, and opportunity amount. The nameand industry attribute fields may be of the type string, while the otherthree attribute fields may be of the type number. Revenue andopportunity amount may be viewed as criterion attribute fields, tocompute scores for each record, while company, revenue, age, andopportunity amount may be viewed as property attribute fields, and anICP comprising these four property attribute fields may be generatedbased on the three lead records.

ICP Generation Example 2

In this subsection, another example is provided for establishing an ICP.In this example, a METADATA system may connect to a user's CRM accountsuch as under Salesforce.com to “reverse engineer” past customer data toidentify one or more ideal customer profiles (ICPs).

More specifically, the METADATA system may first run an internal reportwithin the CRM to identify all leads or contacts that are qualified. Aqualified lead may be defined as a lead associated with deals having ahigh probability of being closed and won by a METADATA user. In someembodiments, a qualified lead is one for which associated opportunityvalue is greater than 0. In some embodiments, a lead is consideredqualified as long as there is a potential future opportunity withAmount>$0, even if any past opportunity for the lead was closed andlost. The opportunity amount may be understood by some simple examples.Suppose that a contact in the CRM system is a student who went to aseminar of the user in search of internship opportunities. Such astudent contact would have an opportunity amount of $0, because there isno intention of any business transaction in the foreseeable future.Another contact might be a past customer who had a closed and won dealworth $1M. The opportunity amount would then be $1M, since this pastcustomer may do business with the system user again in the future.Moreover, a past customer with a deal worth $50 k that was closed andlost, may still be a future customer, and so the opportunity amountwould be $50 k. Therefore, opportunity amount for past customers wouldbe greater than zero in most cases. In another embodiment, the studentin the aforementioned example may be considered to have a small non-zeroopportunity amount automatically in three years, because assuming he orshe has graduated, he or she may be in a position to make decisions forhis or her firm, and demand business service from the system user. Yetother embodiments may define the opportunity amount differently. Forexample, the following pseudo SQL query may retrieve from a database allleads associated with positive opportunities.

-   -   PSEUDO QUERY: SELECT*FROM LEADS TABLE        -   INNER JOIN OPPORTUNITIES_TABLE        -   WHERE OPPORTUNITIES_TABLE.AMOUNT>0

The METADATA system may pair the returned data table with third-partyenrichment data by identifying as many attributes as possible about theleads and the companies they work for. Some exemplary third-party datasources include paid data sources such as Datanyze and ZoomInfo, andfreely available ones such as the public web.

The METADATA system may then analyze the augmented dataset to generateinsights on the assembled data, according to processes described above.In one example, different groups or clusters within the dataset may bedetermined by running statistical functions such as K-MEANS. In anotherexample, the system may identify signals that correlate most toopportunity.amount AND opportunity.status=won, by running statisticalfunctions such as decision tree analysis, regression analysis, or randomforest. Boolean variables may be used to indicate whether a customerprospect became a real customer in one embodiment. Such prospects may inanother embodiment be labeled with a probability value instead of aBoolean. Lead scores or weightings may be further applied based on suchvariables as opportunity amounts, and opportunity status, whereopportunity status may include closed and won, closed and lost, etc. Insome embodiments, the statistical analysis is based on machine learningof profile attributes of leads with high lead scores, and profileattributes of leads in the test target groups corresponding to highcampaign scores.

Targeted Advertising Campaigns

FIG. 8 is a flowchart illustrating a process for generating opt-inbusiness leads utilizing targeted marketing campaigns, where an ICP isgenerated from existing leads, according to one embodiment of thepresent invention.

In this embodiment, upon initiation at step 810, the METADATA systemretrieves a list of N leads with p properties from an external datasource at step 815. The data source may be, for example, Salesforce, orsimply a csv file. To enrich the retrieved leads, for each of the Nleads, at step 820, additional data are retrieved from another datasource, and added at step 825 as the (p+1)-th, . . . q-th attributefields. The system may then identify one or more ICPs through aprofiling process, by statistically analyzing the retrieved leads atsteps 830 and 835. At step 830, for each of the q properties, histogramsmay be made, for a total of q histograms, and Q modes or Q top propertyvalues may be determined. Such modes are the property values that occurwith the highest frequency in the existing pool of leads, and may beused as the corresponding attribute value for the desired ICP. At step835, a vetting process may be conducted, where a system user may beasked to approve the Q top property values for the ICP.

Next, at step 840, a custom audience search process may be performed,where Mnew leads each with k properties may be retrieved from one ormore data sources, where the M new leads match the ICP with a certainmatch rate, and where the ICP is made up of the Q top property values.These new leads are lookalikes of the initial N candidate leads.Enrichment of the M new leads may be performed at step 845, whereadditional properties may be added so that each of the M new leads nowhave l attributes, where l≧k.

With the new leads, the system may generate test marketing campaigns ormicro-campaigns at step 850, where subsets of the M new leads may betargeted. With campaign landing pages specified by landing pageproperties 865, campaigns may be uploaded at step 870 to ads serviceproviders or channel advertising partners, with landing pages and thetarget leads having specified attributes. Lead submissions and feedbacksare received from the landing pages at step 875, and multiple updatesmay be conducted. When a new lead submits information on the landingpage at step 875, the campaigns engine may updates the ads service andthe system upon a clicking of a submission button.

In some embodiments, lead submissions are analyzed and locally scored.In some embodiments, lead submissions are uploaded to the client's CRMsystem. At step 890, data sources may be accessed to store the newleads, as well as lead responses. Such data sources may refer tointernal METADATA databases, system user's own databases or CRM system,or external CRM systems. Although the overall process shown in FIG. 8terminates at step 895, acquired leads may be further tracked oversubsequent time periods, where opportunities closed, and amounts won maybe recorded to indicate the quality of a lead. Acquired leads or closedleads may also be further used by step 815 to fine-tune and furtherrefine the ICP for candidate lead generation. Moreover, in someembodiments, landing page properties may be updated according to theresult of the test campaigns.

Below is yet another exemplary process for targeted advertising and ICPoptimization, in one embodiment of the invention.

Connecting to Third-Party Platforms

As previously discussed, third-party platforms may serve as data sourcesor channel advertising partners in the opt-in business lead generationprocess. Exemplary third-party platforms include Facebook, GoogleAdWords, Salesforce, and Hubspot. These may serve as data sourcesincluding lead data source, enrichments data sources, and the like.Other data sources include, but are not limited to, the following.Bracketed items below indicate the types of data that may be obtainedfrom the respective data source.

-   -   LinkedIn (Contacts)    -   FullContact (Contacts+Companies)    -   ClearBit (Contacts+Companies+Lookalikes)    -   Pipl (Contacts)    -   ZoomInfo (Lookalikes)    -   BuiltWith (Companies)    -   LeadSift (Contacts)    -   WhitePages (Contacts)    -   GlassDoor (Companies)    -   HG-Data (Companies)    -   LeadFerret (Lookalikes)        Creating a New Campaign

FIG. 9 is an exemplary Campaign Setup page 900, according to oneembodiment of the present invention. An exemplary test campaign form 910may contain campaign fields 920 for, for example, duration and budgetinformation, targeting fields 930 for, for example, targeting sets andchoices of landing pages, and creative fields 940 for, for example, adheadlines, as well as ad creative fields 950 for uploading additionalfiles for the visuals. Note that this is an illustrative example notmeant to be restrictive in the kinds of information that may bespecified on a test Campaign Setup page.

FIG. 10 shows an illustrative campaign flow 1000 by means of a campaigncreation wizard, which helps the user to define new ad campaigns for oneembodiment of the invention.

In this embodiment, the METADATA platform may consist of the followingtypes of pages: Dashboard such as Campaign details page 1010; TargetingSets page 1020; Campaigns pages such as Offer page 1030; and Creativepage 1040.

In addition to campaign details such as name, start date to end date,and budgeted spending per lead, Dashboard Page 1010 may also showimportant Key Performance Indicators (KPIs), such as the average costper clicks for currently existing campaigns not run by the system, orthe average cost per click for campaigns that the system runs. Anotherimportant KPI may be the display and/or comparison of quantitativemeasures along the campaign chain, including Spend, Impressions, Clicks,Conversions, and Dollar Opportunity.

Defining Targeting Sets

Targeting Sets page 1020 may show account attribute criteria and personaattribute criteria, for configuring or specifying target sets ofcandidate leads. The user may have the ability to add and remove targetset conditions. The process of setting up a target set may have two lifecycle phases: In Process, and Done. In some embodiments, Targeting Setspage 1020 may comprise forms for the user to define a desired target setby specifying targeting set conditions for company and personaattributes. For example, company targeting attributes may be configuredto have revenue values ranging between $1M, $5M, $50M, $250M, and thelike. Similarly, persona targeting attributes may be configured by userinput of attributes such as seniority. In some embodiments, multipletarget sets may be derived from the target set conditions, by allowingthe user to configure different combinations of attribute conditions.

In some embodiments, once company and persona targeting set conditionsare configured by the user, the METADATA system may displaycorresponding CRM or Salesforce analysis of the targeting sets thusdefined, and ask the user to approve or go back and change the targetingset conditions. In some embodiments, a validation step may be provided,where the METADATA system may show the user a number of contacts thatmatch each combination of targeting set conditions previouslyconfigured, and ask the user to validate that these are the personas theuser would like to target. If the user does not validate, he or she maybe asked to change the targeting set conditions.

Testing the Campaigns

The system may repeat the process of ICP generation and test campaigncreation, while also further optimizing a cost per lead (CPL) metric bytesting the campaign offers using A/B testing, indirect testing,probabilistic testing, and comparative testing.

In one example, the system may A/B tests the campaign offers andadvertising channels to see which test campaign has a better response.In another example, the system may compare campaign responses of targetgroups generated by the system and target groups generated byadvertising channels. By doing so, target groups with the minimum CPLand the highest quality leads may be selected. Similar comparisons maybe performed on target groups formed by other criteria. In this way, thequality of the target groups may be scored, and corresponding optimalcampaign strategies may be determined. In yet another example, wherecomparative testing is deployed, more than one target groups may beserved with a given landing page, and the campaign trials scored basedon candidate lead voluntary opt-in weights. Another comparative testwould be to compare target groups or campaigns based on a weighted scoreformed from match rate signals of the candidate leads within a targetgroup and their voluntary opt-in weights after obtaining campaignfeedback.

Generating Opt-in Business Leads

After performing the test advertising campaigns, one or more mainadvertising campaigns may be sent to the candidate leads matchingprofiles of high-quality test target groups. Typically, test advertisingcampaigns are smaller than main advertising campaigns, or are targetedto smaller groups. Testing on a small subset of the candidate leads andtargeting the rest based on the testing results may bring great savingsin advertising costs paid to channel partners, and may allow for thespecific targeting of micro-criteria and fine-tuning of the generationof high quality leads. The system may receive responses from candidateleads during the main advertising campaign, and may generate opt-inbusiness leads by selecting from the candidate leads those who respondedaffirmatively to the main advertising campaigns.

FIG. 11 is an illustrative flowchart for a process to generate opt-inbusiness leads, according to one embodiment of the present invention.Upon initialization at step 1110, the METADATA system retrieves an idealcustomer prolife (ICP) personifying an ideal customer at step 1120, theICP comprising multiple ICP business attribute fields and multiple ICPpersona attribute fields, wherein the ICP persona attribute fieldsidentify one or more personal roles within a company identified by theplurality of ICP business attribute fields. At step 1130, candidateleads are generated by retrieving candidate leads from one or more leaddata sources, wherein each candidate lead matches the ICP, and enrichingeach candidate lead with enrichment data retrieved from one or moreenrichment data sources. At step 1140, one or more test campaigns aregenerated, where each test campaign is associated with a campaign cost,one or more channel advertising partners, one or more landing pages, anda group of test leads, where each associated group of test leads is asubset of the candidate leads. At step 1150, each test campaign isdirected to the associated group of test leads, using one or more of theassociated channel advertising partners. At step 1160, feedbackinformation is received on each test campaign from the associated groupof test leads, through one of the associated landing pages, wherein eachtest lead who responds affirmatively to one of the associated landingpages is marked as an acquired lead. At step 1170, a test campaign scoreis computed for each test campaign, based on the number of the acquiredleads acquired through the test campaign, and a campaign cost per lead(CPL). At step 1180, a targeted advertising campaign is generated anddirected to the candidate leads, where the targeted advertising campaigncomprises one or more micro-campaigns, where each micro-campaignreplicates a test campaign with a test campaign score exceeding acampaign score threshold, and where each micro-campaign is directed to asubset of the candidate leads that match a profile of the test leadgroup associated with the replicated test campaign. At step 1190, opt-inbusiness leads are generated by selecting candidate leads that respondaffirmatively to the targeted advertising campaign, before the overallprocess terminates at step 1195.

In some embodiments, instead of terminating at step 1195, the processmay continue iteratively, where the ICP is updated based on the acquiredor opt-in leads, and the overall process reiterated to produce bettertargeted campaigns.

Illustrative Case Study: Concurrent

To demonstrate the effectiveness of methods and system as disclosedherein, a case study is presented next.

Concurrent, a business in Big Data application infrastructure, wanted todeliver their live product demo to clients in a target list ofcompanies, including accounts that may be been overlooked before, aswell as new targets ready to engage with sales. The goal is toaccelerate Concurrent's marketing reach and acquire more customersfaster while maintaining or reducing customer acquisition costs.

To achieve the intended goal, Concurrent used METADATA to generate avery high quality lead flow. Leads thus generated were of the highestquality Concurrent has seen up to date. In addition to the quality ofleads coming in, Concurrent was able to achieve significantadvertisement cost savings by optimizing their reach via multiplechannels, getting the same person to engage with their message for afraction of the cost, thus allowing a high marketing return oninvestment (ROI).

In a three-week campaign, 500 accounts were targeted, and as many as 161converted. METADATA delivered a three-fold increase in ROI when comparedto previous campaigns, engaging over 33% of those accounts withConcurrent product demo and creating 4 new opportunities that weekalone. In addition, METADATA drove 48% increase in net new conversionswithin the span of the promotion, and a 3.7 times increase inclicks-through rates when compared to Concurrent's best performingcampaign in the past.

Implementation of the Present Invention

The present invention may be implemented using server-based hardware andsoftware. FIG. 12 shows an illustrative hardware architecture diagram1200 of a server for implementing one embodiment of the presentinvention.

The present invention may be implemented in hardware and/or in software.Many components of the system, for example, network interfaces etc.,have not been shown, so as not to obscure the present invention.However, one of ordinary skill in the art would appreciate that thesystem necessarily includes these components. A user-device is ahardware that includes at least one processor 1240 coupled to a memory1250. The processor may represent one or more processors (e.g.,microprocessors), and the memory may represent random access memory(RAM) devices comprising a main storage of the hardware, as well as anysupplemental levels of memory e.g., cache memories, non-volatile orback-up memories (e.g. programmable or flash memories), read-onlymemories, etc. In addition, the memory may be considered to includememory storage physically located elsewhere in the hardware, e.g. anycache memory in the processor, as well as any storage capacity used as avirtual memory, e.g., as stored on a mass storage device.

The hardware of a user-device also typically receives a number of inputs1210 and outputs 1220 for communicating information externally. Forinterface with a user, the hardware may include one or more user inputdevices (e.g., a keyboard, a mouse, a scanner, a microphone, a webcamera, etc.) and a display (e.g., a Liquid Crystal Display (LCD)panel). For additional storage, the hardware my also include one or moremass storage devices 1290, e.g., a floppy or other removable disk drive,a hard disk drive, a Direct Access Storage Device (DASD), an opticaldrive (e.g. a Compact Disk (CD) drive, a Digital Versatile Disk (DVD)drive, etc.) and/or a tape drive, among others. Furthermore, thehardware may include an interface one or more external SQL databases1230, as well as one or more networks 1280 (e.g., a local area network(LAN), a wide area network (WAN), a wireless network, and/or theInternet among others) to permit the communication of information withother computers coupled to the networks. It should be appreciated thatthe hardware typically includes suitable analog and/or digitalinterfaces to communicate with each other.

The hardware operates under the control of an operating system 1270, andexecutes a METADATA software application 1260, with components,programs, codes, libraries, objects, modules, etc. indicatedcollectively by reference numerals to perform the methods, processes,and techniques described above.

The present invention may be implemented in a client server environment.FIG. 13 shows an illustrative system architecture 1300 for implementingone embodiment of the present invention in a client server environment.User devices 1310 on the client side may include smart phones 1312,laptops 1314, desktop PCs 1316, tablets 1318, or other devices. Suchuser devices 1310 access the service of the METADATA system server 1330through some network connection 1320, such as the Internet.

In some embodiments of the present invention, the entire system can beimplemented and offered to the end-users and operators over theInternet, in a so-called cloud implementation. No local installation ofsoftware or hardware would be needed, and the end-users and operatorswould be allowed access to the systems of the present invention directlyover the Internet, using either a web browser or similar software on aclient, which client could be a desktop, laptop, mobile device, and soon. This eliminates any need for custom software installation on theclient side and increases the flexibility of delivery of the service(software-as-a-service), and increases user satisfaction and ease ofuse. Various business models, revenue models, and delivery mechanismsfor the present invention are envisioned, and are all to be consideredwithin the scope of the present invention. In some embodiments,connections to CRMs and/or marketing automation systems may beestablished via some network connection between METADATA server 1330 andthe respective systems.

In general, the method executed to implement the embodiments of theinvention, may be implemented as part of an operating system or aspecific application, component, program, object, module or sequence ofinstructions referred to as “computer program(s)” or “computer code(s).”The computer programs typically comprise one or more instructions set atvarious times in various memory and storage devices in a computer, andthat, when read and executed by one or more processors in a computer,cause the computer to perform operations necessary to execute elementsinvolving the various aspects of the invention. Moreover, while theinvention has been described in the context of fully functioningcomputers and computer systems, those skilled in the art will appreciatethat the various embodiments of the invention are capable of beingdistributed as a program product in a variety of forms, and that theinvention applies equally regardless of the particular type of machineor computer-readable media used to actually effect the distribution.Examples of computer-readable media include but are not limited torecordable type media such as volatile and non-volatile memory devices,floppy and other removable disks, hard disk drives, optical disks (e.g.,Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks,(DVDs), etc.), and digital and analog communication media.

CONCLUSIONS

One of ordinary skill in the art knows that the use cases, structures,schematics, and flow diagrams may be performed in other orders orcombinations, but the inventive concept of the present invention remainswithout departing from the broader scope of the invention. Everyembodiment may be unique, and methods/steps may be either shortened orlengthened, overlapped with the other activities, postponed, delayed,and continued after a time gap, such that every user is accommodated topractice the methods of the present invention.

Although the present invention has been described with reference tospecific exemplary embodiments, it will be evident that the variousmodification and changes can be made to these embodiments withoutdeparting from the broader scope of the invention. Accordingly, thespecification and drawings are to be regarded in an illustrative senserather than in a restrictive sense. It will also be apparent to theskilled artisan that the embodiments described above are specificexamples of a single broader invention which may have greater scope thanany of the singular descriptions taught. There may be many alterationsmade in the descriptions without departing from the scope of the presentinvention.

What is claimed is:
 1. A method for generating opt-in business leads fora business-to-business (B2B) company utilizing targeted advertisingcampaigns, comprising: retrieving, utilizing a leads engine, an idealcustomer profile (ICP) personifying an ideal customer, the ICPcomprising a plurality of ICP business attribute fields and a pluralityof ICP persona attribute fields, wherein the plurality of ICP personaattribute fields identifies one or more personal roles within a companyidentified by the plurality of ICP business attribute fields;generating, utilizing the leads engine, candidate leads by retrieving aplurality of candidate leads from one or more lead data sources, whereineach candidate lead matches the ICP based on a match rate signal, andwherein the match rate signal is calculated based on a plurality ofattributes of each of the plurality of candidate leads matching the ICPbusiness and persona attribute fields; generating, utilizing a campaignsengine, one or more test campaigns, wherein each test campaign isassociated with a campaign cost, one or more channel advertisingpartners, one or more landing pages, and a group of test leads, andwherein the associated group of test leads is a subset of the candidateleads; directing, utilizing the campaigns engine, each test campaign tothe associated group of test leads, using the one or more associatedchannel advertising partners; receiving, utilizing the campaigns engine,feedback information on each test campaign from the associated group oftest leads, through the one or more associated landing pages, whereineach test lead who responds affirmatively to one of the associatedlanding pages is marked as an acquired lead; computing, utilizing thecampaigns engine, a test campaign score for each test campaign, based ona number of the acquired leads acquired through the test campaign, and acampaign cost per lead (CPL), wherein the CPL is computed by dividingthe campaign cost associated with the test campaign by the number of theacquired leads acquired through the test campaign; generating anddirecting, utilizing the campaigns engine, a targeted advertisingcampaign to a subset of the candidate leads, wherein the targetedadvertising campaign comprises one or more micro-campaigns, wherein eachmicro-campaign replicates a test campaign with a test campaign scoreexceeding a campaign score threshold, and wherein each micro-campaign isdirected to a subset of the candidate leads that match a profile of thetest lead group associated with the replicated test campaign; andgenerating the opt-in business leads by selecting candidate leads thatrespond affirmatively to the targeted advertising campaign.
 2. Themethod of claim 1, further comprising: serving the acquired leads fromthe campaigns engine to a Customer Relationship Management (CRM) system;and retrieving opportunity data on the acquired leads from the CRM tothe campaigns engine, wherein the computing of a test campaign score bythe campaigns engine for each test campaign is further based onopportunity amounts of closed opportunities for the acquired leadsacquired by the test campaign.
 3. The method of claim 1, wherein thetest campaign score computed for each test campaign comprises one ormore components selected from the group consisting of a number ofimpressions, a number of clicks, visit-to-form-submission conversionpercentage, the campaign cost, the CPL, an opportunity amount, and aprobability and a time of closing the opportunity, and wherein thevisit-to-form-submission conversion percentage is computed by dividingthe number of the acquired leads acquired through the test campaign by anumber of test leads in the test lead group associated with the testcampaign.
 4. The method of claim 1, wherein a profiler module generatesthe ICP by: retrieving a plurality of qualified leads from a CustomerRelationship Management (CRM) system, wherein each qualified leadcomprises a plurality of attribute fields, wherein each attribute fieldhas an attribute value, and wherein each qualified lead has at least oneattribute field having an attribute value satisfying a qualificationcondition; enriching the plurality of qualified leads with enrichmentdata retrieved from one or more enrichment data sources to generate aplurality of enriched leads, wherein each enriched lead comprises aplurality of business attribute fields and a plurality of personaattribute fields; computing a criterion attribute value score for eachof a plurality of criterion attribute fields of each enriched lead,wherein the plurality of criterion attribute fields is a subset of theplurality of attribute fields; computing a lead score for each enrichedlead, based on the criterion attribute value scores for the enrichedlead; computing a property value score for each property attribute valueof each of a plurality of property attribute fields, based on thecomputed lead scores, wherein the plurality of property attribute fieldsis a subset of the plurality of attribute fields; and generating ICPattribute fields for the ICP, based on the computed property valuescores.
 5. The method of claim 4, wherein the computing of the weightfor each attribute value of each attribute field is by generating ahistogram of attribute values for each attribute filed, over allenriched leads, and wherein the generating of the ICP attribute fieldsfor the ICP is by assigning the mode of each generated histogram to thecorresponding ICP attribute field.
 6. The method of claim 4, furthercomprising: obtaining, utilizing the profiler module, a plurality ofprimary keys for the plurality of qualified leads; obtaining, utilizingthe profiler module, a plurality of secondary keys using the pluralityof primary keys as keys into one or more enrichment data sources,wherein the plurality of secondary keys serves as primary keys for theenrichment data sources; and enriching, utilizing the profiler module,each of the plurality of candidate leads with enrichment data retrievedfrom the one or more enrichment data sources, wherein the enriching ofeach candidate lead comprises populating one or more attribute fields ofthe candidate lead with attribute values retrieved from the enrichmentdata sources using the plurality of secondary keys.
 7. The method ofclaim 1, further comprising updating the ICP, utilizing a profilermodule, based on the acquired leads by: computing a criterion attributevalue score for each of a plurality of criterion attribute fields ofeach acquired lead, wherein the plurality of criterion attribute fieldsis a subset of the plurality of attribute fields; computing a lead scorefor each acquired lead, based on the criterion attribute value scoresfor the acquired lead; computing a property value score for eachproperty attribute value of each of a plurality of property attributefields, based on the computed lead scores, wherein the plurality ofproperty attribute fields is a subset of the plurality of attributefields; and updating ICP attribute fields for the ICP, based on thecomputed property value scores.
 8. The method of claim 1, wherein eachof the lead data sources is selected from the group consisting of asystem database, one or more third-party databases, and the one or morechannel advertising partners.
 9. A system for generating ideal andopt-in business leads for a business-to-business (B2B) company utilizingtargeted advertising campaigns, comprising: a processor; a client-serverconnection to a Customer Relationship Management (CRM) system; aclient-server connection to one or more lead data sources; and anon-transitory, computer-readable storage medium for storing programcode, wherein the program code encodes a leads engine, and a campaignsengine having access to one or more advertising channel partners, andwherein the program code when executed by the processor causes theprocessor to: retrieve, to the leads engine, an ideal customer profile(ICP) personifying an ideal customer, the ICP comprising a plurality ofICP business attribute fields and a plurality of ICP persona attributefields, wherein the plurality of ICP persona attribute fields identifiesone or more personal roles within a company identified by the pluralityof ICP business attribute fields; generate, utilizing the leads engine,candidate leads by retrieving a plurality of candidate leads from one ormore lead data sources, wherein each candidate lead matches the ICPbased on a match rate signal, wherein the match rate signal iscalculated based on a plurality of attributes of each of the pluralityof candidate leads matching the ICP business and persona attributefields; generate, utilizing the campaigns engine, one or more testcampaigns, wherein each test campaign is associated with a campaigncost, one or more channel advertising partners, one or more landingpages, and a group of test leads, and wherein the associated group oftest leads is a subset of the candidate leads; direct, utilizing thecampaigns engine, each test campaign to the associated group of testleads, using the one or more associated channel advertising partners;receive, utilizing the campaigns engine, feedback information on eachtest campaign from the associated group of test leads, through the oneor more associated landing pages, wherein each test lead who respondsaffirmatively to one of the associated landing pages is marked as anacquired lead; compute, utilizing the campaigns engine, a test campaignscore for each test campaign, based on a number of the acquired leadsacquired through the test campaign, and a campaign cost per lead (CPL),wherein the CPL is computed by dividing the campaign cost associatedwith the test campaign by the number of the acquired leads acquiredthrough the test campaign; generate and direct, utilizing the campaignsengine, a targeted advertising campaign to a subset of the candidateleads, wherein the targeted advertising campaign comprises one or moremicro-campaigns, wherein each micro-campaign replicates a test campaignwith a test campaign score exceeding a campaign score threshold, andwherein each micro-campaign is directed to a subset of the candidateleads that match a profile of the test lead group associated with thereplicated test campaign; and generate the opt-in business leads byselecting candidate leads that respond affirmatively to the targetedadvertising campaign.
 10. The system of claim 9, wherein the programcode when executed by the processor, further causes the processor to:serve the acquired leads from the campaigns engine to a CustomerRelationship Management (CRM) system; and retrieve opportunity data onthe acquired leads from the CRM to the campaigns engine, wherein thecomputing of a test campaign score by the campaigns engine for each testcampaign is further based on opportunity amounts of closed opportunitiesfor the acquired leads acquired by the test campaign.
 11. The system ofclaim 9, wherein the test campaign score computed for each test campaigncomprises one or more components selected from the group consisting of anumber of impressions, a number of clicks, visit-to-form-submissionconversion percentage, the campaign cost, the CPL, an opportunityamount, and a probability and a time of closing the opportunity, andwherein the visit-to-form-submission conversion percentage is computedby dividing the number of the acquired leads acquired through the testcampaign by a number of test leads in the test lead group associatedwith the test campaign.
 12. The system of claim 9, wherein a profilermodule encoded by the program code generates the ICP by: retrieving aplurality of qualified leads from a Customer Relationship Management(CRM) system, wherein each qualified lead comprises a plurality ofattribute fields, wherein each attribute field has an attribute value,and wherein each qualified lead has at least one attribute field havingan attribute value satisfying a qualification condition; enriching theplurality of qualified leads with enrichment data retrieved from one ormore enrichment data sources to generate a plurality of enriched leads,wherein each enriched lead comprises a plurality of business attributefields and a plurality of persona attribute fields; computing acriterion attribute value score for each of a plurality of criterionattribute fields of each enriched lead, wherein the plurality ofcriterion attribute fields is a subset of the plurality of attributefields; computing a lead score for each enriched lead, based on thecriterion attribute value scores for the enriched lead; computing aproperty value score for each property attribute value of each of aplurality of property attribute fields, based on the computed leadscores, wherein the plurality of property attribute fields is a subsetof the plurality of attribute fields; and generating ICP attributefields for the ICP, based on the computed property value scores.
 13. Thesystem of claim 12, wherein the computing of the weight for eachattribute value of each attribute field is by generating a histogram ofattribute values for each attribute filed, over all enriched leads, andwherein the generating of the ICP attribute fields for the ICP is byassigning the mode of each generated histogram to the corresponding ICPattribute field.
 14. The system of claim 12, wherein the program codewhen executed by the processor, further causes the processor to: obtain,utilizing the profiler module, a plurality of primary keys for theplurality of qualified leads; and obtain, utilizing the profiler module,a plurality of secondary keys using the plurality of primary keys askeys into one or more enrichment data sources, wherein the plurality ofsecondary keys serves as primary keys for the enrichment data sources;and enrich, utilizing the profiler module, each of the plurality ofcandidate leads with enrichment data retrieved from the one or moreenrichment data sources, wherein the enriching of each candidate leadcomprises populating one or more attribute fields of the candidate leadwith attribute values retrieved from the enrichment data sources usingthe plurality of secondary keys.
 15. The system of claim 9, wherein theprogram code when executed by the processor, further causes theprocessor to update the ICP, utilizing a profiler module encoded by theprogram code, based on the acquired leads by: computing a criterionattribute value score for each of a plurality of criterion attributefields of each acquired lead, wherein the plurality of criterionattribute fields is a subset of the plurality of attribute fields;computing a lead score for each acquired lead, based on the criterionattribute value scores for the acquired lead; computing a property valuescore for each property attribute value of each of a plurality ofproperty attribute fields, based on the computed lead scores, whereinthe plurality of property attribute fields is a subset of the pluralityof attribute fields; and updating ICP attribute fields for the ICP,based on the computed property value scores.
 16. The system of claim 9,wherein each of the lead data sources is selected from the groupconsisting of a system database, one or more third-party databases, andthe one or more channel advertising partners.
 17. A method forgenerating targeted advertising campaigns for a business-to-business(B2B) company, comprising: generating utilizing a profiler module anideal customer profile (ICP) comprising one or more ICP attribute fieldspersonifying an ideal customer by: retrieving a plurality of qualifiedleads from a Customer Relationship Management (CRM) system, wherein eachqualified lead comprises a plurality of attribute fields, wherein eachattribute field has an attribute value, and wherein each qualified leadhas at least one attribute field having an attribute value satisfying aqualification condition; enriching the plurality of qualified leads withenrichment data retrieved from one or more enrichment data sources togenerate a plurality of enriched leads, wherein each enriched leadcomprises a plurality of business attribute fields and a plurality ofpersona attribute fields; computing a criterion attribute value scorefor each of a plurality of criterion attribute fields of each enrichedlead, wherein the plurality of criterion attribute fields is a subset ofthe plurality of attribute fields; computing a lead score for eachenriched lead, based on the criterion attribute value scores for theenriched lead; computing a property value score for each propertyattribute value of each of a plurality of property attribute fields,based on the computed lead scores, wherein the plurality of propertyattribute fields is a subset of the plurality of attribute fields; andgenerating the one or more ICP attribute fields for the ICP, based onthe computed property value scores; generating, utilizing a leadsengine, candidate leads by retrieving a plurality of candidate leadsfrom one or more lead data sources based on the ICP attribute fields;generating, utilizing a campaigns engine, one or more test campaigns,wherein each test campaign is associated with a campaign cost and anassociated group of test leads, and wherein the associated group of testleads is a small subset of the candidate leads; scoring, utilizing thecampaigns engine, each test campaign by generating a test campaign scorefor each test campaign, based on a number of acquired leads acquiredthrough each test campaign and a campaign cost per lead (CPL), whereinthe CPL is computed by dividing the campaign cost associated with thetest campaign by the number of the acquired leads acquired through thetest campaign, and wherein the numbers of acquired leads is calculatedbased on feedback information received from each test campaign from theassociated group of test leads, and wherein each test lead who respondsaffirmatively to one of the test campaigns is marked as an acquiredlead; and generating, utilizing the campaigns engine, a targetedadvertising campaign to a larger subset of the candidate leads based onthe test campaign scores of the test campaigns.
 18. The method of claim17, further comprising: serving the acquired leads from the campaignsengine to a Customer Relationship Management (CRM) system; andretrieving opportunity data on the acquired leads from the CRM to thecampaigns engine, wherein the scoring of a test campaign by thecampaigns engine is further based on opportunity amounts of closedopportunities for the acquired leads acquired by the test campaign. 19.The method of claim 17, wherein the method further comprises updatingthe ICP, utilizing a profiler module, based on the acquired leads by:computing a criterion attribute value score for each of a plurality ofcriterion attribute fields of each acquired lead, wherein the pluralityof criterion attribute fields is a subset of the plurality of attributefields; computing a lead score for each acquired lead, based on thecriterion attribute value scores for the acquired lead; computing aproperty value score for each property attribute value of each of aplurality of property attribute fields, based on the computed leadscores, wherein the plurality of property attribute fields is a subsetof the plurality of attribute fields; and updating ICP attribute fieldsfor the ICP, based on the computed property value scores.